dev/cpp/sockets/sock1.c

68 lines
1.9 KiB
C

#include <stdio.h>
#include <sys/types.h>
#include <sys/socket.h>
//~ 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;
}