summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/basic/memfd-util.h15
-rw-r--r--src/basic/mempool.c3
-rw-r--r--src/basic/mempool.h2
-rw-r--r--src/basic/mkdir.h5
-rw-r--r--src/basic/mount-util.h16
-rw-r--r--src/basic/parse-util.h10
-rw-r--r--src/basic/path-util.h45
-rw-r--r--src/basic/proc-cmdline.h7
-rw-r--r--src/basic/process-util.h52
-rw-r--r--src/basic/selinux-util.h33
-rw-r--r--src/basic/set.h10
-rw-r--r--src/basic/signal-util.h13
-rw-r--r--src/basic/smack-util.h19
-rw-r--r--src/basic/socket-util.h67
14 files changed, 190 insertions, 107 deletions
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 <inttypes.h>
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)))