From: Sven Eden Date: Tue, 11 Apr 2017 15:07:47 +0000 (+0200) Subject: Prep v228: Substitute declaration masks (2/4) X-Git-Tag: v228.1~1^2~13 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=6917418372a990fbfe9a39864ccefacb37c70cc8 Prep v228: Substitute declaration masks (2/4) --- diff --git a/src/basic/memfd-util.h b/src/basic/memfd-util.h index f2858beb8..8c1b24c57 100644 --- a/src/basic/memfd-util.h +++ b/src/basic/memfd-util.h @@ -25,12 +25,17 @@ #include int memfd_new(const char *name); -// UNNEEDED int memfd_new_and_map(const char *name, size_t sz, void **p); - -// UNNEEDED int memfd_map(int fd, uint64_t offset, size_t size, void **p); +/// UNNEEDED by elogind +#if 0 +int memfd_new_and_map(const char *name, size_t sz, void **p); +int memfd_map(int fd, uint64_t offset, size_t size, void **p); +#endif // 0 int memfd_set_sealed(int fd); -// UNNEEDED int memfd_get_sealed(int fd); +/// UNNEEDED by elogind +#if 0 +int memfd_get_sealed(int fd); -// UNNEEDED int memfd_get_size(int fd, uint64_t *sz); +int memfd_get_size(int fd, uint64_t *sz); +#endif // 0 int memfd_set_size(int fd, uint64_t sz); diff --git a/src/basic/mempool.c b/src/basic/mempool.c index 4916361e1..9ee6e6a76 100644 --- a/src/basic/mempool.c +++ b/src/basic/mempool.c @@ -88,8 +88,6 @@ void mempool_free_tile(struct mempool *mp, void *p) { mp->freelist = p; } -/// UNNEEDED by elogind -#if 0 #ifdef VALGRIND void mempool_drop(struct mempool *mp) { @@ -103,4 +101,3 @@ void mempool_drop(struct mempool *mp) { } #endif -#endif // 0 diff --git a/src/basic/mempool.h b/src/basic/mempool.h index a0d081a69..42f473bee 100644 --- a/src/basic/mempool.h +++ b/src/basic/mempool.h @@ -45,5 +45,5 @@ struct mempool pool_name = { \ #ifdef VALGRIND -// UNNEEDED void mempool_drop(struct mempool *mp); +void mempool_drop(struct mempool *mp); #endif diff --git a/src/basic/mkdir.h b/src/basic/mkdir.h index 9a554c1ef..3c60e55c8 100644 --- a/src/basic/mkdir.h +++ b/src/basic/mkdir.h @@ -30,7 +30,10 @@ int mkdir_p(const char *path, mode_t mode); /* mandatory access control(MAC) versions */ int mkdir_safe_label(const char *path, mode_t mode, uid_t uid, gid_t gid); -// UNNEEDED int mkdir_parents_label(const char *path, mode_t mode); +/// UNNEEDED by elogind +#if 0 +int mkdir_parents_label(const char *path, mode_t mode); +#endif // 0 int mkdir_p_label(const char *path, mode_t mode); /* internally used */ diff --git a/src/basic/mount-util.h b/src/basic/mount-util.h index 9b36bc145..ad30727fe 100644 --- a/src/basic/mount-util.h +++ b/src/basic/mount-util.h @@ -32,17 +32,23 @@ int fd_is_mount_point(int fd, const char *filename, int flags); int path_is_mount_point(const char *path, int flags); -// UNNEEDED int repeat_unmount(const char *path, int flags); +/// UNNEEDED by elogind +#if 0 +int repeat_unmount(const char *path, int flags); -// UNNEEDED int umount_recursive(const char *target, int flags); -// UNNEEDED int bind_remount_recursive(const char *prefix, bool ro); +int umount_recursive(const char *target, int flags); +int bind_remount_recursive(const char *prefix, bool ro); -// UNNEEDED int mount_move_root(const char *path); +int mount_move_root(const char *path); +#endif // 0 DEFINE_TRIVIAL_CLEANUP_FUNC(FILE*, endmntent); #define _cleanup_endmntent_ _cleanup_(endmntentp) -// UNNEEDED bool fstype_is_network(const char *fstype); +/// UNNEEDED by elogind +#if 0 +bool fstype_is_network(const char *fstype); +#endif // 0 union file_handle_union { struct file_handle handle; diff --git a/src/basic/parse-util.h b/src/basic/parse-util.h index 7dac7670d..43f23500f 100644 --- a/src/basic/parse-util.h +++ b/src/basic/parse-util.h @@ -34,10 +34,14 @@ int parse_mode(const char *s, mode_t *ret); int parse_ifindex(const char *s, int *ret); int parse_size(const char *t, uint64_t base, uint64_t *size); -// UNNEEDED int parse_range(const char *t, unsigned *lower, unsigned *upper); -// UNNEEDED #define FORMAT_BYTES_MAX 8 -// UNNEEDED char *format_bytes(char *buf, size_t l, uint64_t t); +/// UNNEEDED by elogind +#if 0 +int parse_range(const char *t, unsigned *lower, unsigned *upper); + +#define FORMAT_BYTES_MAX 8 +char *format_bytes(char *buf, size_t l, uint64_t t); +#endif // 0 int safe_atou(const char *s, unsigned *ret_u); int safe_atoi(const char *s, int *ret_i); diff --git a/src/basic/path-util.h b/src/basic/path-util.h index 3ef8eae68..72edda818 100644 --- a/src/basic/path-util.h +++ b/src/basic/path-util.h @@ -36,28 +36,43 @@ #endif bool is_path(const char *p) _pure_; -// UNNEEDED int path_split_and_make_absolute(const char *p, char ***ret); +/// UNNEEDED by elogind +#if 0 +int path_split_and_make_absolute(const char *p, char ***ret); +#endif // 0 bool path_is_absolute(const char *p) _pure_; -// UNNEEDED char* path_make_absolute(const char *p, const char *prefix); +/// UNNEEDED by elogind +#if 0 +char* path_make_absolute(const char *p, const char *prefix); +#endif // 0 int path_make_absolute_cwd(const char *p, char **ret); -// UNNEEDED int path_make_relative(const char *from_dir, const char *to_path, char **_r); +/// UNNEEDED by elogind +#if 0 +int path_make_relative(const char *from_dir, const char *to_path, char **_r); +#endif // 0 char* path_kill_slashes(char *path); char* path_startswith(const char *path, const char *prefix) _pure_; int path_compare(const char *a, const char *b) _pure_; bool path_equal(const char *a, const char *b) _pure_; bool path_equal_or_files_same(const char *a, const char *b); -// UNNEEDED char* path_join(const char *root, const char *path, const char *rest); +/// UNNEEDED by elogind +#if 0 +char* path_join(const char *root, const char *path, const char *rest); -// UNNEEDED int path_strv_make_absolute_cwd(char **l); +int path_strv_make_absolute_cwd(char **l); +#endif // 0 char** path_strv_resolve(char **l, const char *prefix); char** path_strv_resolve_uniq(char **l, const char *prefix); -// UNNEEDED int find_binary(const char *name, char **filename); +/// UNNEEDED by elogind +#if 0 +int find_binary(const char *name, char **filename); -// UNNEEDED bool paths_check_timestamp(const char* const* paths, usec_t *paths_ts_usec, bool update); +bool paths_check_timestamp(const char* const* paths, usec_t *paths_ts_usec, bool update); -// UNNEEDED int fsck_exists(const char *fstype); -// UNNEEDED int mkfs_exists(const char *fstype); +int fsck_exists(const char *fstype); +int mkfs_exists(const char *fstype); +#endif // 0 /* Iterates through the path prefixes of the specified path, going up * the tree, to root. Also returns "" (and not "/"!) for the root @@ -69,7 +84,7 @@ char** path_strv_resolve_uniq(char **l, const char *prefix); #define PATH_FOREACH_PREFIX_MORE(prefix, path) \ for (char *_slash = ({ path_kill_slashes(strcpy(prefix, path)); if (streq(prefix, "/")) prefix[0] = 0; strrchr(prefix, 0); }); _slash && ((*_slash = 0), true); _slash = strrchr((prefix), '/')) -// UNNEEDED char *prefix_root(const char *root, const char *path); +char *prefix_root(const char *root, const char *path); /* Similar to prefix_root(), but returns an alloca() buffer, or * possibly a const pointer into the path parameter */ @@ -96,7 +111,10 @@ char** path_strv_resolve_uniq(char **l, const char *prefix); _ret; \ }) -// UNNEEDED int parse_path_argument_and_warn(const char *path, bool suppress_root, char **arg); +/// UNNEEDED by elogind +#if 0 +int parse_path_argument_and_warn(const char *path, bool suppress_root, char **arg); +#endif // 0 char* dirname_malloc(const char *path); @@ -108,4 +126,7 @@ char *file_in_same_dir(const char *path, const char *filename); bool hidden_file_allow_backup(const char *filename); bool hidden_file(const char *filename) _pure_; -// UNNEEDED bool is_device_path(const char *path); +/// UNNEEDED by elogind +#if 0 +bool is_device_path(const char *path); +#endif // 0 diff --git a/src/basic/proc-cmdline.h b/src/basic/proc-cmdline.h index e5a7d7934..bccecf290 100644 --- a/src/basic/proc-cmdline.h +++ b/src/basic/proc-cmdline.h @@ -25,5 +25,8 @@ int proc_cmdline(char **ret); int parse_proc_cmdline(int (*parse_word)(const char *key, const char *value)); int get_proc_cmdline_key(const char *parameter, char **value); -// UNNEEDED int shall_restore_state(void); -// UNNEEDED const char* runlevel_to_target(const char *rl); +/// UNNEEDED by elogind +#if 0 +int shall_restore_state(void); +const char* runlevel_to_target(const char *rl); +#endif // 0 diff --git a/src/basic/process-util.h b/src/basic/process-util.h index ba81fc66e..8f3a3f233 100644 --- a/src/basic/process-util.h +++ b/src/basic/process-util.h @@ -46,13 +46,17 @@ int get_process_state(pid_t pid); int get_process_comm(pid_t pid, char **name); int get_process_cmdline(pid_t pid, size_t max_length, bool comm_fallback, char **line); int get_process_exe(pid_t pid, char **name); -// UNNEEDED int get_process_uid(pid_t pid, uid_t *uid); -// UNNEEDED int get_process_gid(pid_t pid, gid_t *gid); -// UNNEEDED int get_process_capeff(pid_t pid, char **capeff); -// UNNEEDED int get_process_cwd(pid_t pid, char **cwd); -// UNNEEDED int get_process_root(pid_t pid, char **root); -// UNNEEDED int get_process_environ(pid_t pid, char **environ); -// UNNEEDED int get_process_ppid(pid_t pid, pid_t *ppid); + +/// UNNEEDED by elogind +#if 0 +int get_process_uid(pid_t pid, uid_t *uid); +int get_process_gid(pid_t pid, gid_t *gid); +int get_process_capeff(pid_t pid, char **capeff); +int get_process_cwd(pid_t pid, char **cwd); +int get_process_root(pid_t pid, char **root); +int get_process_environ(pid_t pid, char **environ); +int get_process_ppid(pid_t pid, pid_t *ppid); +#endif // 0 int wait_for_terminate(pid_t pid, siginfo_t *status); int wait_for_terminate_and_warn(const char *name, pid_t pid, bool check_exit_code); @@ -60,9 +64,13 @@ int wait_for_terminate_and_warn(const char *name, pid_t pid, bool check_exit_cod void sigkill_wait(pid_t *pid); #define _cleanup_sigkill_wait_ _cleanup_(sigkill_wait) -// UNNEEDED int kill_and_sigcont(pid_t pid, int sig); +/// UNNEEDED by elogind +#if 0 +int kill_and_sigcont(pid_t pid, int sig); + +void rename_process(const char name[8]); +#endif // 0 -// UNNEEDED void rename_process(const char name[8]); int is_kernel_thread(pid_t pid); int getenv_for_pid(pid_t pid, const char *field, char **_value); @@ -72,9 +80,12 @@ bool pid_is_unwaited(pid_t pid); bool is_main_thread(void); -// UNNEEDED noreturn void freeze(void); +/// UNNEEDED by elogind +#if 0 +noreturn void freeze(void); -// UNNEEDED bool oom_score_adjust_is_valid(int oa); +bool oom_score_adjust_is_valid(int oa); +#endif // 0 #ifndef PERSONALITY_INVALID /* personality(7) documents that 0xffffffffUL is used for querying the @@ -83,17 +94,20 @@ bool is_main_thread(void); #define PERSONALITY_INVALID 0xffffffffLU #endif -// UNNEEDED unsigned long personality_from_string(const char *p); -// UNNEEDED const char *personality_to_string(unsigned long); +/// UNNEEDED by elogind +#if 0 +unsigned long personality_from_string(const char *p); +const char *personality_to_string(unsigned long); -// UNNEEDED int ioprio_class_to_string_alloc(int i, char **s); -// UNNEEDED int ioprio_class_from_string(const char *s); +int ioprio_class_to_string_alloc(int i, char **s); +int ioprio_class_from_string(const char *s); -// UNNEEDED const char *sigchld_code_to_string(int i) _const_; -// UNNEEDED int sigchld_code_from_string(const char *s) _pure_; +const char *sigchld_code_to_string(int i) _const_; +int sigchld_code_from_string(const char *s) _pure_; -// UNNEEDED int sched_policy_to_string_alloc(int i, char **s); -// UNNEEDED int sched_policy_from_string(const char *s); +int sched_policy_to_string_alloc(int i, char **s); +int sched_policy_from_string(const char *s); +#endif // 0 #define PTR_TO_PID(p) ((pid_t) ((uintptr_t) p)) #define PID_TO_PTR(p) ((void*) ((uintptr_t) p)) diff --git a/src/basic/selinux-util.h b/src/basic/selinux-util.h index caac8dfb7..6719a7a93 100644 --- a/src/basic/selinux-util.h +++ b/src/basic/selinux-util.h @@ -27,23 +27,34 @@ #include "macro.h" bool mac_selinux_use(void); -// UNNEEDED void mac_selinux_retest(void); +/// UNNEEDED by elogind +#if 0 +void mac_selinux_retest(void); +#endif // 0 int mac_selinux_init(const char *prefix); -// UNNEEDED void mac_selinux_finish(void); +/// UNNEEDED by elogind +#if 0 +void mac_selinux_finish(void); +#endif // 0 int mac_selinux_fix(const char *path, bool ignore_enoent, bool ignore_erofs); -// UNNEEDED int mac_selinux_apply(const char *path, const char *label); +/// UNNEEDED by elogind +#if 0 +int mac_selinux_apply(const char *path, const char *label); -// UNNEEDED int mac_selinux_get_create_label_from_exe(const char *exe, char **label); -// UNNEEDED int mac_selinux_get_our_label(char **label); -// UNNEEDED int mac_selinux_get_child_mls_label(int socket_fd, const char *exe, const char *exec_label, char **label); -// UNNEEDED void mac_selinux_free(char *label); +int mac_selinux_get_create_label_from_exe(const char *exe, char **label); +int mac_selinux_get_our_label(char **label); +int mac_selinux_get_child_mls_label(int socket_fd, const char *exe, const char *exec_label, char **label); +void mac_selinux_free(char *label); +#endif // 0 int mac_selinux_create_file_prepare(const char *path, mode_t mode); void mac_selinux_create_file_clear(void); +/// UNNEEDED by elogind +#if 0 +int mac_selinux_create_socket_prepare(const char *label); +void mac_selinux_create_socket_clear(void); -// UNNEEDED int mac_selinux_create_socket_prepare(const char *label); -// UNNEEDED void mac_selinux_create_socket_clear(void); - -// UNNEEDED int mac_selinux_bind(int fd, const struct sockaddr *addr, socklen_t addrlen); +int mac_selinux_bind(int fd, const struct sockaddr *addr, socklen_t addrlen); +#endif // 0 diff --git a/src/basic/set.h b/src/basic/set.h index 32daa05f7..ae02f4fe2 100644 --- a/src/basic/set.h +++ b/src/basic/set.h @@ -65,7 +65,10 @@ static inline void *set_remove(Set *s, const void *key) { /* no set_remove2 */ /* no set_remove_value */ -// UNNEEDED int set_remove_and_put(Set *s, const void *old_key, const void *new_key); +/// UNNEEDED by elogind +#if 0 +int set_remove_and_put(Set *s, const void *old_key, const void *new_key); +#endif // 0 /* no set_remove_and_replace */ int set_merge(Set *s, Set *other); @@ -124,7 +127,10 @@ static inline char **set_get_strv(Set *s) { int set_consume(Set *s, void *value); int set_put_strdup(Set *s, const char *p); -// UNNEEDED int set_put_strdupv(Set *s, char **l); +/// UNNEEDED by elogind +#if 0 +int set_put_strdupv(Set *s, char **l); +#endif // 0 #define SET_FOREACH(e, s, i) \ for ((i) = ITERATOR_FIRST; set_iterate((s), &(i), (void**)&(e)); ) diff --git a/src/basic/signal-util.h b/src/basic/signal-util.h index 592612504..b746e5cb8 100644 --- a/src/basic/signal-util.h +++ b/src/basic/signal-util.h @@ -29,8 +29,11 @@ int reset_all_signal_handlers(void); int reset_signal_mask(void); int ignore_signals(int sig, ...); -// UNNEEDED int default_signals(int sig, ...); -// UNNEEDED int sigaction_many(const struct sigaction *sa, ...); +/// UNNEEDED by elogind +#if 0 +int default_signals(int sig, ...); +int sigaction_many(const struct sigaction *sa, ...); +#endif // 0 int sigset_add_many(sigset_t *ss, ...); int sigprocmask_many(int how, sigset_t *old, ...); @@ -39,5 +42,7 @@ const char *signal_to_string(int i) _const_; int signal_from_string(const char *s) _pure_; int signal_from_string_try_harder(const char *s); - -// UNNEEDED void nop_signal_handler(int sig); +/// UNNEEDED by elogind +#if 0 +void nop_signal_handler(int sig); +#endif // 0 diff --git a/src/basic/smack-util.h b/src/basic/smack-util.h index 327a07821..c7a4eb36a 100644 --- a/src/basic/smack-util.h +++ b/src/basic/smack-util.h @@ -48,11 +48,14 @@ bool mac_smack_use(void); int mac_smack_fix(const char *path, bool ignore_enoent, bool ignore_erofs); -// UNNEEDED const char* smack_attr_to_string(SmackAttr i) _const_; -// UNNEEDED SmackAttr smack_attr_from_string(const char *s) _pure_; -// UNNEEDED int mac_smack_read(const char *path, SmackAttr attr, char **label); -// UNNEEDED int mac_smack_read_fd(int fd, SmackAttr attr, char **label); -// UNNEEDED int mac_smack_apply(const char *path, SmackAttr attr, const char *label); -// UNNEEDED int mac_smack_apply_fd(int fd, SmackAttr attr, const char *label); -// UNNEEDED int mac_smack_apply_pid(pid_t pid, const char *label); -// UNNEEDED int mac_smack_copy(const char *dest, const char *src); +/// UNNEEDED by elogind +#if 0 +const char* smack_attr_to_string(SmackAttr i) _const_; +SmackAttr smack_attr_from_string(const char *s) _pure_; +int mac_smack_read(const char *path, SmackAttr attr, char **label); +int mac_smack_read_fd(int fd, SmackAttr attr, char **label); +int mac_smack_apply(const char *path, SmackAttr attr, const char *label); +int mac_smack_apply_fd(int fd, SmackAttr attr, const char *label); +int mac_smack_apply_pid(pid_t pid, const char *label); +int mac_smack_copy(const char *dest, const char *src); +#endif // 0 diff --git a/src/basic/socket-util.h b/src/basic/socket-util.h index 4c9905494..2924c30bf 100644 --- a/src/basic/socket-util.h +++ b/src/basic/socket-util.h @@ -66,19 +66,16 @@ typedef enum SocketAddressBindIPv6Only { } SocketAddressBindIPv6Only; #define socket_address_family(a) ((a)->sockaddr.sa.sa_family) -#endif // 0 -// UNNEEDED int socket_address_parse(SocketAddress *a, const char *s); -// UNNEEDED int socket_address_parse_and_warn(SocketAddress *a, const char *s); -// UNNEEDED int socket_address_parse_netlink(SocketAddress *a, const char *s); -// UNNEEDED int socket_address_print(const SocketAddress *a, char **p); -// UNNEEDED int socket_address_verify(const SocketAddress *a) _pure_; -// UNNEEDED int socket_address_unlink(SocketAddress *a); +int socket_address_parse(SocketAddress *a, const char *s); +int socket_address_parse_and_warn(SocketAddress *a, const char *s); +int socket_address_parse_netlink(SocketAddress *a, const char *s); +int socket_address_print(const SocketAddress *a, char **p); +int socket_address_verify(const SocketAddress *a) _pure_; +int socket_address_unlink(SocketAddress *a); -// UNNEEDED bool socket_address_can_accept(const SocketAddress *a) _pure_; +bool socket_address_can_accept(const SocketAddress *a) _pure_; -/// UNNEEDED by elogind -#if 0 int socket_address_listen( const SocketAddress *a, int flags, @@ -92,47 +89,55 @@ int socket_address_listen( mode_t socket_mode, const char *label); int make_socket_fd(int log_level, const char* address, int flags); -#endif // 0 -// UNNEEDED bool socket_address_is(const SocketAddress *a, const char *s, int type); -// UNNEEDED bool socket_address_is_netlink(const SocketAddress *a, const char *s); +bool socket_address_is(const SocketAddress *a, const char *s, int type); +bool socket_address_is_netlink(const SocketAddress *a, const char *s); -// UNNEEDED bool socket_address_matches_fd(const SocketAddress *a, int fd); +bool socket_address_matches_fd(const SocketAddress *a, int fd); -// UNNEEDED bool socket_address_equal(const SocketAddress *a, const SocketAddress *b) _pure_; +bool socket_address_equal(const SocketAddress *a, const SocketAddress *b) _pure_; -// UNNEEDED const char* socket_address_get_path(const SocketAddress *a); +const char* socket_address_get_path(const SocketAddress *a); +#endif // 0 bool socket_ipv6_is_supported(void); -// UNNEEDED int sockaddr_port(const struct sockaddr *_sa) _pure_; +/// UNNEEDED by elogind +#if 0 +int sockaddr_port(const struct sockaddr *_sa) _pure_; -// UNNEEDED Sint sockaddr_pretty(const struct sockaddr *_sa, socklen_t salen, bool translate_ipv6, bool include_port, char **ret); -// UNNEEDED int getpeername_pretty(int fd, char **ret); -// UNNEEDED int getsockname_pretty(int fd, char **ret); +Sint sockaddr_pretty(const struct sockaddr *_sa, socklen_t salen, bool translate_ipv6, bool include_port, char **ret); +int getpeername_pretty(int fd, char **ret); +int getsockname_pretty(int fd, char **ret); -// UNNEEDED int socknameinfo_pretty(union sockaddr_union *sa, socklen_t salen, char **_ret); -// UNNEEDED int getnameinfo_pretty(int fd, char **ret); +int socknameinfo_pretty(union sockaddr_union *sa, socklen_t salen, char **_ret); +int getnameinfo_pretty(int fd, char **ret); -// UNNEEDED const char* socket_address_bind_ipv6_only_to_string(SocketAddressBindIPv6Only b) _const_; -// UNNEEDED SocketAddressBindIPv6Only socket_address_bind_ipv6_only_from_string(const char *s) _pure_; +const char* socket_address_bind_ipv6_only_to_string(SocketAddressBindIPv6Only b) _const_; +SocketAddressBindIPv6Only socket_address_bind_ipv6_only_from_string(const char *s) _pure_; -// UNNEEDED int netlink_family_to_string_alloc(int b, char **s); -// UNNEEDED int netlink_family_from_string(const char *s) _pure_; +int netlink_family_to_string_alloc(int b, char **s); +int netlink_family_from_string(const char *s) _pure_; -// UNNEEDED bool sockaddr_equal(const union sockaddr_union *a, const union sockaddr_union *b); +bool sockaddr_equal(const union sockaddr_union *a, const union sockaddr_union *b); +#endif // 0 int fd_inc_sndbuf(int fd, size_t n); int fd_inc_rcvbuf(int fd, size_t n); - -// UNNEEDED int ip_tos_to_string_alloc(int i, char **s); -// UNNEEDED int ip_tos_from_string(const char *s); +/// UNNEEDED by elogind +#if 0 +int ip_tos_to_string_alloc(int i, char **s); +int ip_tos_from_string(const char *s); +#endif // 0 int getpeercred(int fd, struct ucred *ucred); int getpeersec(int fd, char **ret); int send_one_fd(int transport_fd, int fd, int flags); -// UNNEEDED int receive_one_fd(int transport_fd, int flags); +/// UNNEEDED by elogind +#if 0 +int receive_one_fd(int transport_fd, int flags); +#endif // 0 #define CMSG_FOREACH(cmsg, mh) \ for ((cmsg) = CMSG_FIRSTHDR(mh); (cmsg); (cmsg) = CMSG_NXTHDR((mh), (cmsg)))