diff options
author | David Oberhollenzer <david.oberhollenzer@tele2.at> | 2018-05-27 10:15:03 +0200 |
---|---|---|
committer | David Oberhollenzer <david.oberhollenzer@tele2.at> | 2018-06-09 15:32:29 +0200 |
commit | ed23d075cae1353dcbec06925b2491e09395aafe (patch) | |
tree | f1793472ddc02015aebda72df8ceeeb22dfadab8 /lib/include | |
parent | bf63f78b6698f33ed3acbd4aed8822a35688c1ba (diff) |
Make mksock() more generic, move to util library
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
Diffstat (limited to 'lib/include')
-rw-r--r-- | lib/include/util.h | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/lib/include/util.h b/lib/include/util.h index f63a0d6..18133a8 100644 --- a/lib/include/util.h +++ b/lib/include/util.h @@ -35,6 +35,17 @@ typedef struct { int value; } enum_map_t; +enum { + /* only allow root to connect */ + SOCK_FLAG_ROOT_ONLY = 0x01, + + /* allow everyone to connect */ + SOCK_FLAG_EVERYONE = 0x02, + + /* create a datagram socket, otherwise use a stream socket */ + SOCK_FLAG_DGRAM = 0x04, +}; + /* Search through an array of enum_map_t entries to resolve a string to a numeric value. The end of the map is indicated by a sentinel entry @@ -49,5 +60,15 @@ const enum_map_t *enum_by_name(const enum_map_t *map, const char *name); */ const char *enum_to_name(const enum_map_t *map, int value); +/* + Create a UNIX stream socket at the given path. + + Returns the socket fd, -1 on failure. The function takes care of + printing error messages on failure. + + The socket has the CLOEXEC flag set. +*/ +int mksock(const char *path, int flags); + #endif /* UTIL_H */ |