aboutsummaryrefslogtreecommitdiff
path: root/std/stdsocket.c
diff options
context:
space:
mode:
authorCody <cody@codyq.dev>2023-07-20 18:13:34 -0500
committerCody <cody@codyq.dev>2023-07-20 18:13:34 -0500
commit1219f5ed8aed0bcb6a416a194fce70f0a290309d (patch)
tree5759c263bc626d288cb69434d1f46e20af49f2de /std/stdsocket.c
parent7c53e65cad365ec112d2ec1bd9c3091dbed05720 (diff)
parent52d6bc8533616dd642c96f8b6e72f459e1b4d465 (diff)
downloadsloth-1219f5ed8aed0bcb6a416a194fce70f0a290309d.tar.gz
Merge branch 'master' of github.com:slothlang/slothlang
Diffstat (limited to 'std/stdsocket.c')
-rw-r--r--std/stdsocket.c110
1 files changed, 55 insertions, 55 deletions
diff --git a/std/stdsocket.c b/std/stdsocket.c
index 7f2a02c..94d2ebe 100644
--- a/std/stdsocket.c
+++ b/std/stdsocket.c
@@ -1,76 +1,76 @@
+#include "stdlib.c"
#include <netinet/in.h>
+#include <stdbool.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/socket.h>
#include <unistd.h>
-#include <stdbool.h>
-int serversock(int PORT, char* addr, int backlog) {
- int opt = 1;
- int sock, new_sock;
- struct sockaddr_in address;
- int addrlen = sizeof(address);
+int serversock(int PORT, char *addr, int backlog) {
+ int opt = 1;
+ int sock, new_sock;
+ struct sockaddr_in address;
+ int addrlen = sizeof(address);
- if((sock = socket(PF_INET, SOCK_STREAM, 0)) < 0) {
- perror("socket failed");
- exit(EXIT_FAILURE);
- }
+ if ((sock = socket(PF_INET, SOCK_STREAM, 0)) < 0) {
+ perror("socket failed");
+ exit(EXIT_FAILURE);
+ }
- if (setsockopt(sock, SOL_SOCKET, SO_REUSEADDR | SO_REUSEPORT, &opt, sizeof(opt)) < 0 ) {
- perror("setsockopt");
- exit(EXIT_FAILURE);
- }
+ if (setsockopt(sock, SOL_SOCKET, SO_REUSEADDR | SO_REUSEPORT, &opt,
+ sizeof(opt)) < 0) {
+ perror("setsockopt");
+ exit(EXIT_FAILURE);
+ }
- address.sin_family = AF_INET;
- if (sequals(addr, "auto")) {
- address.sin_addr.s_addr = INADDR_ANY;
- } else {
- inet_aton(addr, &address.sin_addr.s_addr);
- }
- address.sin_port = htons(PORT);
+ address.sin_family = AF_INET;
+ if (sequals(addr, "auto")) {
+ address.sin_addr.s_addr = INADDR_ANY;
+ } else {
+ inet_aton(addr, &address.sin_addr.s_addr);
+ }
+ address.sin_port = htons(PORT);
- if (bind(sock, (struct sockaddr*)&address, sizeof(address)) < 0) {
- perror("bind");
- exit(EXIT_FAILURE);
- }
- if (listen(sock, backlog) < 0) {
- perror("listen");
- exit(EXIT_FAILURE);
- }
-
- if ((new_sock = accept(sock, (struct sockaddr*)&address, (socklen_t*)&addrlen)) < 0) {
- perror("accept");
- exit(EXIT_FAILURE);
- }
- return new_sock;
+ if (bind(sock, (struct sockaddr *)&address, sizeof(address)) < 0) {
+ perror("bind");
+ exit(EXIT_FAILURE);
+ }
+ if (listen(sock, backlog) < 0) {
+ perror("listen");
+ exit(EXIT_FAILURE);
+ }
+
+ if ((new_sock = accept(sock, (struct sockaddr *)&address,
+ (socklen_t *)&addrlen)) < 0) {
+ perror("accept");
+ exit(EXIT_FAILURE);
+ }
+ return new_sock;
}
+int clientsock(int PORT, char *server_ip) {
+ struct sockaddr_in serv_addr;
+ int sock = socket(PF_INET, SOCK_STREAM, 0);
+ serv_addr.sin_family = AF_INET;
+ serv_addr.sin_port = htons(PORT);
-int clientsock(int PORT, char* server_ip) {
- struct sockaddr_in serv_addr;
- int sock = socket(PF_INET, SOCK_STREAM, 0);
- serv_addr.sin_family = AF_INET;
- serv_addr.sin_port = htons(PORT);
-
- inet_pton(AF_INET, server_ip, &serv_addr.sin_addr);
- int status = connect(sock, (struct sockaddr*)&serv_addr, sizeof(serv_addr));
- return sock;
+ inet_pton(AF_INET, server_ip, &serv_addr.sin_addr);
+ int status = connect(sock, (struct sockaddr *)&serv_addr, sizeof(serv_addr));
+ return sock;
}
-char* recvsock(int soc) {
- char* buf = malloc(1024);
- int valread = read(soc, buf, 1024);
- return buf;
+char *recvsock(int soc) {
+ char *buf = malloc(1024);
+ int valread = read(soc, buf, 1024);
+ return buf;
}
-void sendsock(char* msg, int soc) {
- send(soc, msg, strlen(msg), 0);
-}
+void sendsock(char *msg, int soc) { send(soc, msg, strlen(msg), 0); }
void closesock(int soc, bool server) {
- close(soc);
- if (server) {
- shutdown(soc, SHUT_RDWR);
- }
+ close(soc);
+ if (server) {
+ shutdown(soc, SHUT_RDWR);
+ }
}