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