|  | #ifndef UNIX_STREAM_SERVER_H | 
|  | #define UNIX_STREAM_SERVER_H | 
|  |  | 
|  | #include "unix-socket.h" | 
|  |  | 
|  | struct unix_ss_socket { | 
|  | char *path_socket; | 
|  | struct stat st_socket; | 
|  | int fd_socket; | 
|  | }; | 
|  |  | 
|  | /* | 
|  | * Create a Unix Domain Socket at the given path under the protection | 
|  | * of a '.lock' lockfile. | 
|  | * | 
|  | * Returns 0 on success, -1 on error, -2 if socket is in use. | 
|  | */ | 
|  | int unix_ss_create(const char *path, | 
|  | const struct unix_stream_listen_opts *opts, | 
|  | long timeout_ms, | 
|  | struct unix_ss_socket **server_socket); | 
|  |  | 
|  | /* | 
|  | * Close and delete the socket. | 
|  | */ | 
|  | void unix_ss_free(struct unix_ss_socket *server_socket); | 
|  |  | 
|  | /* | 
|  | * Return 1 if the inode of the pathname to our socket changes. | 
|  | */ | 
|  | int unix_ss_was_stolen(struct unix_ss_socket *server_socket); | 
|  |  | 
|  | #endif /* UNIX_STREAM_SERVER_H */ |