diff options
author | Aleksey Veresov <aleksey@veresov.pro> | 2020-04-04 19:39:38 +0300 |
---|---|---|
committer | Aleksey Veresov <aleksey@veresov.pro> | 2020-04-04 19:39:38 +0300 |
commit | 07657b8a9f5c2fd9047594ec8604b9c439a999e4 (patch) | |
tree | efc15cde781a74f5782c780422dde6ec0dfb1af4 /src/session.c | |
parent | cb6a86b8db5a26b92073c4fc5ceffffa8cd842c2 (diff) | |
download | magi-07657b8a9f5c2fd9047594ec8604b9c439a999e4.tar magi-07657b8a9f5c2fd9047594ec8604b9c439a999e4.tar.xz magi-07657b8a9f5c2fd9047594ec8604b9c439a999e4.zip |
[magi] Finalization.
Diffstat (limited to 'src/session.c')
-rw-r--r-- | src/session.c | 58 |
1 files changed, 0 insertions, 58 deletions
diff --git a/src/session.c b/src/session.c deleted file mode 100644 index aec0e6d..0000000 --- a/src/session.c +++ /dev/null @@ -1,58 +0,0 @@ -#include "session.h" - -#include <arpa/inet.h> -#include <string.h> -#include <sys/socket.h> -#include <sys/un.h> - - -enum { listen_backlog = 64 }; - -void magi_session_init(magi_session *s) -{ - s->socket = 0; -} - -void magi_session_free(magi_session *s) -{ - if (s->socket) { - shutdown(s->socket, SHUT_RDWR); - s->socket = 0; - } -} - - -int magi_session_inet(magi_session *s, const char *address, int port) -{ - struct sockaddr_in addr; - if (s->socket) { - return 0; - } - s->socket = socket(AF_INET, SOCK_STREAM, 0); - if (s->socket == -1) { - s->socket = 0; - return 0; - } - addr.sin_family = AF_INET; - addr.sin_port = htons(port); - addr.sin_addr.s_addr = inet_addr(address); - return !bind(s->socket, (struct sockaddr *)&addr, sizeof(addr)) && - !listen(s->socket, listen_backlog); -} - -int magi_session_unix(magi_session *s, const char *path) -{ - struct sockaddr_un addr; - if (s->socket) { - return 0; - } - s->socket = socket(AF_UNIX, SOCK_STREAM, 0); - if (s->socket == -1) { - s->socket = 0; - return 0; - } - addr.sun_family = AF_UNIX; - strncpy(addr.sun_path, path, sizeof(addr.sun_path) - 1); - return !bind(s->socket, (struct sockaddr *)&addr, sizeof(addr)) && - !listen(s->socket, listen_backlog); -} |