socket-programming:structs
تفاوتها
تفاوت دو نسخهٔ متفاوت از صفحه را مشاهده میکنید.
| نگارش بعد | نگارش قبل | ||
| socket-programming:structs [2024/06/18 00:21] – ایجاد شد pejman | socket-programming:structs [2024/06/18 00:55] (فعلی) – حذف شد pejman | ||
|---|---|---|---|
| خط 1: | خط 1: | ||
| - | ====== لیست structهای مورد نیاز ====== | ||
| - | |||
| - | در لیست زیر structها و manual هایی که در باره آنها توضیح داده اند مشخص شده اند: | ||
| - | |||
| - | <code C> | ||
| - | // man 3 getaddrinfo | ||
| - | struct addrinfo { | ||
| - | int ai_flags; | ||
| - | int ai_family; | ||
| - | int ai_socktype; | ||
| - | int ai_protocol; | ||
| - | socklen_t | ||
| - | struct sockaddr *ai_addr; | ||
| - | char *ai_canonname; | ||
| - | struct addrinfo *ai_next; | ||
| - | }; | ||
| - | </ | ||
| - | |||
| - | <code C> | ||
| - | // man 2 bind | ||
| - | // man 3 sockaddr | ||
| - | struct sockaddr { | ||
| - | sa_family_t | ||
| - | char | ||
| - | }; | ||
| - | </ | ||
| - | |||
| - | <code C> | ||
| - | // man 7 ip | ||
| - | // man 3 sockaddr | ||
| - | typedef uint16_t in_port_t; | ||
| - | struct sockaddr_in { | ||
| - | sa_family_t | ||
| - | in_port_t | ||
| - | struct in_addr | ||
| - | unsigned char | ||
| - | }; | ||
| - | </ | ||
| - | |||
| - | <code C> | ||
| - | // man 7 ip | ||
| - | // man 3 inet | ||
| - | // man 3 sockaddr | ||
| - | // Internet address (a structure for historical reasons) | ||
| - | typedef uint32_t in_addr_t; | ||
| - | struct in_addr { | ||
| - | in_addr_t s_addr; // that's a 32-bit int (4 bytes) | ||
| - | }; | ||
| - | </ | ||
| - | |||
| - | <code C> | ||
| - | // man 7 ipv6 | ||
| - | // man 3 sockaddr | ||
| - | typedef uint16_t in_port_t; | ||
| - | struct sockaddr_in6 { | ||
| - | sa_family_t | ||
| - | in_port_t | ||
| - | u_int32_t | ||
| - | struct in6_addr sin6_addr; | ||
| - | u_int32_t | ||
| - | }; | ||
| - | </ | ||
| - | |||
| - | <code C> | ||
| - | // man 7 ipv6 | ||
| - | // man 3 sockaddr | ||
| - | struct in6_addr { | ||
| - | uint8_t | ||
| - | }; | ||
| - | </ | ||
| - | |||
| - | <code C> | ||
| - | // man 7 socket | ||
| - | // man 3 sockaddr | ||
| - | // both IPv4 and IPv6 | ||
| - | struct sockaddr_storage { | ||
| - | sa_family_t | ||
| - | // all this is padding, implementation specific, ignore it: | ||
| - | char __ss_pad1[_SS_PAD1SIZE]; | ||
| - | int64_t | ||
| - | char __ss_pad2[_SS_PAD2SIZE]; | ||
| - | }; | ||
| - | </ | ||
socket-programming/structs.1718657496.txt.gz · آخرین ویرایش: 2024/06/18 00:21 توسط pejman
