c_network
Rozdíly
Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
| Obě strany předchozí revizePředchozí verzeNásledující verze | Předchozí verze | ||
| c_network [2013/04/11 16:04] – djbuldog | c_network [2025/08/28 10:09] (aktuální) – upraveno mimo DokuWiki 127.0.0.1 | ||
|---|---|---|---|
| Řádek 42: | Řádek 42: | ||
| uint32_t ntohl(uint32_t netlong); | uint32_t ntohl(uint32_t netlong); | ||
| uint16_t ntohs(uint16_t netshort); | uint16_t ntohs(uint16_t netshort); | ||
| + | </ | ||
| + | |||
| + | ==== Prace s adresami ==== | ||
| + | |||
| + | * struct sockaddr je nejvice obecna | ||
| + | * jednotlive struktury jsou mezi sebou prevoditelne, | ||
| + | |||
| + | < | ||
| + | include < | ||
| + | |||
| + | // All pointers to socket address structures are often cast to pointers | ||
| + | // to this type before use in various functions and system calls: | ||
| + | |||
| + | struct sockaddr { | ||
| + | unsigned short sa_family; | ||
| + | char sa_data[14]; | ||
| + | }; | ||
| + | |||
| + | |||
| + | // IPv4 AF_INET sockets: | ||
| + | |||
| + | struct sockaddr_in { | ||
| + | short sin_family; | ||
| + | unsigned short | ||
| + | struct in_addr | ||
| + | char | ||
| + | }; | ||
| + | |||
| + | struct in_addr { | ||
| + | unsigned long s_addr; | ||
| + | }; | ||
| + | |||
| + | |||
| + | // IPv6 AF_INET6 sockets: | ||
| + | |||
| + | struct sockaddr_in6 { | ||
| + | u_int16_t | ||
| + | u_int16_t | ||
| + | u_int32_t | ||
| + | struct in6_addr sin6_addr; | ||
| + | u_int32_t | ||
| + | }; | ||
| + | |||
| + | struct in6_addr { | ||
| + | unsigned char | ||
| + | }; | ||
| + | |||
| + | |||
| + | // General socket address holding structure, big enough to hold either | ||
| + | // struct sockaddr_in or struct sockaddr_in6 data: | ||
| + | |||
| + | 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]; | ||
| + | }; | ||
| </ | </ | ||
c_network.1365689098.txt.gz · Poslední úprava: (upraveno mimo DokuWiki)
