[C++]Function Prototypes in Socket programming

accept()

// sys/types.h
// sys/socket.h

int accept(int s, struct sockaddr *addr, socklen_t *addrlen);

bind()

// sys/types.h
//sys/socket.h

int bind(int sockfd, struct sockaddr *my_addr, socklen_t addrlen);

connect()

// sys/types.h
// sys/socket.h

int connect(int sockfd, const struct sockaddr *serv_addr,
            socklen_t addrlen);

close()

// unistd.h

int close(int s);


getaddrinfo(), freeaddrinfo(), gai_streerror()

// sys/types.h
// socket.h
// netdb.h

int getaddrinfo(const char *nodename, const char *servname,
                const struct addrinfo *hints, struct addrinfo **res);

void freeaddrinfo(struct addrinfo *ai);
const char *gai_streerror(int ecode);

gethostname()

// sys/unistd.h                                                                             int gethostname(char *name, size_t len);

gethostbyname(), gethostbyaddr()

// sys/socket.h
// netdb.h

struct hostent *gethostbyname(const char *name); // DEPRECATED!
struct hostent *gethostbyaddr(const char *addr, int len, int type);


getnameinfo()

// sys/socket.h
// netdb.h

int getnameinfo(const struct sockaddr *sa, socklen_t salen,
                char *host, size_t hostlen,
                char *serv, size_t servlen, int flags);


getpeername()

//sys/socket.h                                                                              int getpeername(int s, struct sockaddr *addr, socklen_t *len);

htonl(), htons(), ntohl(), ntohs()

//netinet.h
uint32_t htonl(uint32_t hostlong);
uint16_t htons(uint16_t hostshort);
uint32_t ntohl(uint32_t netlong);
uint16_t ntohs(uint16_t netshort);

inet_ntoa(), inet_aton(), inet_addr()

// sys/socket.h 
// netinet.h
// arpa/inet.h

// ALL THESE ARE DEPRECATED!  Use inet_pton()  or inet_ntop() instead!!

char *inet_ntoa(struct in_addr in);
int inet_aton(const char *cp, struct in_addr *inp);
in_addr_t inet_addr(const char *cp);

inet_ntop(), inet_pton()

// arpa/inet.h

const char *inet_ntop(int af, const void *src,
                      char *dst, socklen_t size);

int inet_pton(int af, const char *src, void *dst);


listen()

// sys/socket.h

int listen(int s, int backlog);

perror(), strerror()

// stdio.h
// string.h  // for strerror()

void perror(const char *s);
char *strerror(int errnum);

poll()

// sys/poll.h

int poll(struct pollfd *ufds, unsigned int nfds, int timeout);

read()

#include

ssize_t read(int fd, void *buf, size_t count);



recv(), recvfrom()

// sys/types.h
// sys/socket.h

ssize_t recv(int s, void *buf, size_t len, int flags);
ssize_t recvfrom(int s, void *buf, size_t len, int flags,
                 struct sockaddr *from, socklen_t *fromlen);


select()

// sys/select.h                                                                             int select(int n, fd_set *readfds, fd_set *writefds, fd_set *exceptfds,
           struct timeval *timeout);

FD_SET(int fd, fd_set *set);
FD_CLR(int fd, fd_set *set);
FD_ISSET(int fd, fd_set *set);
FD_ZERO(fd_set *set);

getsockpt(), setsockpt()

// sys/socket.h 
// sys/types.h

int getsockopt(int s, int level, int optname, void *optval,
               socklen_t *optlen);
int setsockopt(int s, int level, int optname, const void *optval,
               socklen_t optlen);

send(), sendto()

// sys/types.h 
// sys/socket.h

ssize_t send(int s, const void *buf, size_t len, int flags);
ssize_t sendto(int s, const void *buf, size_t len,
               int flags, const struct sockaddr *to,
               socklen_t tolen);

shutdown()

// sys/socket.h

int shutdown(int s, int how);

socket()

// sys/types.h
// sys/socket.h

int socket(int domain, int type, int protocol);

From: http://beej.us/guide/bgnet/output/html/multipage/index.html

No comments: