#include #include #include //~ domain = AF_UNIX, AF_INET, AF_INET6, AF_IPX //~ type = SOCK_STREAM, SOCK_DGRAM, SOCK_RAW //~ int socket(int domain, int type, int protocol); //~ struct sockaddr { //~ unsigned short sa_family; // Семейство адресов, AF_xxx //~ char sa_data[14]; // 14 байтов для хранения адреса //~ }; //~ struct sockaddr_in { //~ short int sin_family; // Семейство адресов //~ unsigned short int sin_port; // Номер порта //~ struct in_addr sin_addr; // IP-адрес //~ unsigned char sin_zero[8]; // "Дополнение" до размера структуры sockaddr //~ }; //~ struct in_addr { //~ unsigned long s_addr; //~ }; //~ htons, htonl, ntohs, ntohl //~ int bind(int sockfd, struct sockaddr *addr, int addrlen); //~ int listen(int sockfd, int backlog); //~ int accept(int sockfd, void *addr, int *addrlen); // клиент //~ int connect(int sockfd, struct sockaddr *serv_addr, int addrlen); //~ int send(int sockfd, const void *msg, int len, int flags); // отправка буфера целиком //~ int sendall(int s, char *buf, int len, int flags) //~ { //~ int total = 0; //~ int n; //~ //~ while(total < len) //~ { //~ n = send(s, buf+total, len-total, flags); //~ if(n == -1) { break; } //~ total += n; //~ } //~ //~ return (n==-1 ? -1 : total); //~ } //~ int recv(int sockfd, void *buf, int len, int flags); // закрытие соединения //~ int close(int fd); // запрет передачи 0 - чтения, 1 - записи, 2 - и того, и др. //~ int shutdown(int sockfd, int how); int main(int argc, char * argv[]) { struct a { char aaa[256]; }; printf("%lu\n", sizeof(struct a)); return 0; }