int socket(int domain, int type, int protocol)
int bind(int sockfd, const struct sockaddr * addr, socklen_t addrlen)
int listen(int sockfd, int backlog)
int accept(int sockfd,
struct sockaddr *_Nullable restrict addr,
socklen_t *_Nullable restrict addrlen);
int accept4(int sockfd, struct sockaddr *_Nullable restrict addr, socklen_t *_Nullable restrict addrlen, int flags);
int connect(int sockfd, int accept4(int sockfd, struct sockaddr *_Nullable restrict addr, socklen_t *_Nullable restrict addrlen, int flags);
struct sockaddr{ sa_family_t sa_family; // this is the socket type. (probably int) char sa_data[14]; // the address, but the 14 is probably wrong. };
ssize_t sendto(int socket, const void *message, size_t length, int flags, const struct sockaddr *dest_addr, socklen_t dest_len);
ssize_t sendto(int socket, const void *message, size_t length, int flags, const struct sockaddr *dest_addr, socklen_t dest_len);