diff options
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 */ |