X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Futil.h;h=b1af6dbe7c2adbc3aa297403968ef13a2c1d8616;hp=8de608fe02184b4631188537dc7d4d1f3302f72f;hb=64661ee70d5a10c6208a1cb66ecd8b158e2d8bc5;hpb=7e4ab3c5a6295193d0c58d353b6430265d842f34 diff --git a/src/util.h b/src/util.h index 8de608fe0..b1af6dbe7 100644 --- a/src/util.h +++ b/src/util.h @@ -67,8 +67,10 @@ typedef struct dual_timestamp { #define FORMAT_TIMESTAMP_MAX 64 #define FORMAT_TIMESTAMP_PRETTY_MAX 256 #define FORMAT_TIMESPAN_MAX 64 +#define FORMAT_BYTES_MAX 8 -#define ANSI_HIGHLIGHT_ON "\x1B[1;31m" +#define ANSI_HIGHLIGHT_ON "\x1B[1;39m" +#define ANSI_HIGHLIGHT_RED_ON "\x1B[1;31m" #define ANSI_HIGHLIGHT_GREEN_ON "\x1B[1;32m" #define ANSI_HIGHLIGHT_OFF "\x1B[0m" @@ -325,10 +327,10 @@ bool fstype_is_network(const char *fstype); int chvt(int vt); -int read_one_char(FILE *f, char *ret, bool *need_nl); +int read_one_char(FILE *f, char *ret, usec_t timeout, bool *need_nl); int ask(char *ret, const char *replies, const char *text, ...); -int reset_terminal_fd(int fd); +int reset_terminal_fd(int fd, bool switch_to_text); int reset_terminal(const char *name); int open_terminal(const char *name, int mode); @@ -382,6 +384,9 @@ void status_welcome(void); int fd_columns(int fd); unsigned columns(void); +int fd_lines(int fd); +unsigned lines(void); + int running_in_chroot(void); char *ellipsize(const char *s, size_t length, unsigned percent); @@ -410,6 +415,7 @@ char *fstab_node_to_udev_node(const char *p); void filter_environ(const char *prefix); bool tty_is_vc(const char *tty); +bool tty_is_vc_resolve(const char *tty); int vtnr_from_tty(const char *tty); const char *default_term_for_tty(const char *tty); @@ -460,6 +466,8 @@ int socket_from_display(const char *display, char **path); int get_user_creds(const char **username, uid_t *uid, gid_t *gid, const char **home); int get_group_creds(const char **groupname, gid_t *gid); +int in_group(const char *name); + int glob_exists(const char *path); int dirent_ensure_type(DIR *d, struct dirent *de); @@ -475,7 +483,7 @@ bool in_charset(const char *s, const char* charset); int block_get_whole_disk(dev_t d, dev_t *ret); -int file_is_sticky(const char *p); +int file_is_priv_sticky(const char *p); int strdup_or_null(const char *a, char **b); @@ -522,8 +530,15 @@ unsigned long cap_last_cap(void); char *format_bytes(char *buf, size_t l, off_t t); -int fd_wait_for_event(int fd, int event); +int fd_wait_for_event(int fd, int event, usec_t timeout); void* memdup(const void *p, size_t l); +int rtc_open(int flags); + +int is_kernel_thread(pid_t pid); + +int fd_inc_sndbuf(int fd, size_t n); +int fd_inc_rcvbuf(int fd, size_t n); + #endif