kalu / util.h

/**
 * kalu - Copyright (C) 2012 Olivier Brunel
 *
 * util.h
 * Copyright (C) 2012 Olivier Brunel <i.am.jack.mail@gmail.com>
 * 
 * This file is part of kalu.
 *
 * kalu is free software: you can redistribute it and/or modify it under the
 * terms of the GNU General Public License as published by the Free Software
 * Foundation, either version 3 of the License, or (at your option) any later
 * version.
 *
 * kalu is distributed in the hope that it will be useful, but WITHOUT ANY
 * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 * FOR A PARTICULAR PURPOSE.
 * See the GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License along with
 * kalu. If not, see http://www.gnu.org/licenses/
 */

#ifndef _KALU_UTIL_H
#define _KALU_UTIL_H

/* glib */
#include <glib.h>

/* alpm */
#include "alpm.h"

/* kalu */
#include "kalu.h"

typedef struct _replacement_t {
    const char *name;
    char *value;
} replacement_t;

gboolean
ensure_path (char *path);

char *
strtrim (char *str);

char
*strreplace (const char *str, const char *needle, const char *replace);

gboolean
check_syncdbs (kalu_alpm_t *alpm, size_t need_repos, int check_valid, GError **error);

gboolean
trans_init (kalu_alpm_t *alpm, alpm_transflag_t flags, int check_valid, GError **error);

gboolean
trans_release (kalu_alpm_t *alpm, GError **error);

double
humanize_size(off_t bytes, const char target_unit, const char **label);

int
rmrf (const char *path);

void
parse_tpl (char *tpl, char **text, unsigned int *len, unsigned int *alloc,
           replacement_t **replacements);

int
watched_package_cmp (watched_package_t *w_pkg1, watched_package_t *w_pkg2);

#endif /* _KALU_UTIL_H */
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.