blob: ae2712ba39b1f3502b6a9d49d92bc1e390cfa2b4 [file] [log] [blame]
#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 */