chiark / gitweb /
logind: support for hybrid sleep (i.e. suspend+hibernate at the same time)
[elogind.git] / src / shared / util.h
index cbded086177c34704d972f0399507359f1196504..f726263dd329712012050c3884701779043aad6c 100644 (file)
@@ -79,7 +79,7 @@ union dirent_storage {
 #define QUOTES "\"\'"
 #define COMMENTS "#;\n"
 
-#define FORMAT_TIMESTAMP_MAX 64
+#define FORMAT_TIMESTAMP_MAX (5+11+9+4+1)
 #define FORMAT_TIMESTAMP_PRETTY_MAX 256
 #define FORMAT_TIMESPAN_MAX 64
 #define FORMAT_BYTES_MAX 8
@@ -141,9 +141,9 @@ static inline bool isempty(const char *p) {
         return !p || !p[0];
 }
 
-bool endswith(const char *s, const char *postfix);
-bool startswith(const char *s, const char *prefix);
-bool startswith_no_case(const char *s, const char *prefix);
+char *endswith(const char *s, const char *postfix);
+char *startswith(const char *s, const char *prefix);
+char *startswith_no_case(const char *s, const char *prefix);
 
 bool first_word(const char *s, const char *word);
 
@@ -384,11 +384,11 @@ int status_welcome(void);
 
 int fd_columns(int fd);
 unsigned columns(void);
-unsigned columns_uncached(void);
-void columns_cache_reset(int _unused_ signum);
-
 int fd_lines(int fd);
 unsigned lines(void);
+void columns_lines_cache_reset(int _unused_ signum);
+
+bool on_tty(void);
 
 int running_in_chroot(void);
 
@@ -529,6 +529,7 @@ int setrlimit_closest(int resource, const struct rlimit *rlim);
 int getenv_for_pid(pid_t pid, const char *field, char **_value);
 
 int can_sleep(const char *type);
+int can_sleep_disk(const char *type);
 
 bool is_valid_documentation_url(const char *url);
 
@@ -561,3 +562,9 @@ _malloc_ static inline void *memdup_multiply(const void *p, size_t a, size_t b)
 
 bool filename_is_safe(const char *p);
 bool string_is_safe(const char *p);
+
+int parse_timestamp(const char *t, usec_t *usec);
+
+void *xbsearch_r(const void *key, const void *base, size_t nmemb, size_t size,
+                 int (*compar) (const void *, const void *, void *),
+                 void *arg);