X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Futil.h;h=e87fb23bf8a42a7a4a5c0faa3ae2e20fb16d87eb;hb=3e33a44a01078ea0699dca160b93f0399fbc994b;hp=7ea163f2141e4c9ddda2b688a2308635fd744e5a;hpb=97c4a07df982ee967705022feaba9be33947abf0;p=elogind.git diff --git a/src/util.h b/src/util.h index 7ea163f21..e87fb23bf 100644 --- a/src/util.h +++ b/src/util.h @@ -31,6 +31,8 @@ #include #include #include +#include +#include #include "macro.h" @@ -73,6 +75,8 @@ usec_t now(clockid_t clock); dual_timestamp* dual_timestamp_get(dual_timestamp *ts); +#define dual_timestamp_is_set(ts) ((ts)->realtime > 0) + usec_t timespec_load(const struct timespec *ts); struct timespec *timespec_store(struct timespec *ts, usec_t u); @@ -80,6 +84,7 @@ usec_t timeval_load(const struct timeval *tv); struct timeval *timeval_store(struct timeval *tv, usec_t u); #define streq(a,b) (strcmp((a),(b)) == 0) +#define strneq(a, b, n) (strncmp((a), (b), (n)) == 0) bool streq_ptr(const char *a, const char *b); @@ -189,7 +194,7 @@ int write_one_line_file(const char *fn, const char *line); int read_one_line_file(const char *fn, char **line); int read_full_file(const char *fn, char **contents); -int parse_env_file(const char *fname, const char *seperator, ...) _sentinel_; +int parse_env_file(const char *fname, const char *separator, ...) _sentinel_; char *strappend(const char *s, const char *suffix); char *strnappend(const char *s, const char *suffix, size_t length); @@ -353,6 +358,12 @@ char *unquote(const char *s, const char *quotes); int wait_for_terminate(pid_t pid, siginfo_t *status); int wait_for_terminate_and_warn(const char *name, pid_t pid); +_noreturn_ void freeze(void); + +bool null_or_empty(struct stat *st); + +DIR *xopendirat(int dirfd, const char *name); + #define NULSTR_FOREACH(i, l) \ for ((i) = (l); (i) && *(i); (i) = strchr((i), 0)+1)