diff options
author | Guangxiong Lin <[email protected]> | 2022-12-16 13:53:35 +0800 |
---|---|---|
committer | Guangxiong Lin <[email protected]> | 2022-12-16 13:53:35 +0800 |
commit | 7369505397cdfddf0883e2c24e1652df8bd488fe (patch) | |
tree | e961bd1bba0276e2c5f523bf12663b34983c9e51 /tsocket.c | |
parent | 49839c88a98d3798f7b18c58f54f26f36cacff38 (diff) | |
download | tinyserver-7369505397cdfddf0883e2c24e1652df8bd488fe.tar.gz tinyserver-7369505397cdfddf0883e2c24e1652df8bd488fe.tar.bz2 tinyserver-7369505397cdfddf0883e2c24e1652df8bd488fe.zip |
Refactor file structure
Diffstat (limited to 'tsocket.c')
-rw-r--r-- | tsocket.c | 59 |
1 files changed, 0 insertions, 59 deletions
diff --git a/tsocket.c b/tsocket.c deleted file mode 100644 index 8d8038a..0000000 --- a/tsocket.c +++ /dev/null @@ -1,59 +0,0 @@ -#include <arpa/inet.h> -#include <stdlib.h> -#include <sys/socket.h> -#include <unistd.h> - -#include "tsocket.h" - -struct tsocket *tsocket_create() -{ - int fd = socket(AF_INET, SOCK_STREAM, 0); - if (fd == -1) - return NULL; - - struct tsocket *sock = malloc(sizeof(*sock)); - sock->fd = fd; - - return sock; -} - -int tsocket_bind(struct tsocket *sock, const char *addr, int hostport) -{ - struct sockaddr_in sock_addr; - sock_addr.sin_family = AF_INET; - sock_addr.sin_addr.s_addr = inet_addr(addr); - sock_addr.sin_port = htons(hostport); - - sock->addr = addr; - sock->port = hostport; - - return bind(sock->fd, (struct sockaddr *)&sock_addr, sizeof(sock_addr)); -} - -int tsocket_listen(struct tsocket *sock) -{ - return listen(sock->fd, SOMAXCONN); -} - -struct tsocket *tsocket_accept(struct tsocket *sock) -{ - struct sockaddr_in addr; - socklen_t addr_len = sizeof(addr); - - int fd = accept(sock->fd, (struct sockaddr *)&addr, &addr_len); - if (fd == -1) - return NULL; - - struct tsocket *conn_sock = malloc(sizeof(*conn_sock)); - conn_sock->fd = fd; - conn_sock->addr = inet_ntoa(addr.sin_addr); - conn_sock->port = ntohs(addr.sin_port); - - return conn_sock; -} - -void tsocket_destroy(struct tsocket *sock) -{ - close(sock->fd); - free(sock); -} |