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);