table of contents
INET(3) | Linux - příručka programátora | INET(3) |
JMÉNO¶
inet_aton, inet_addr, inet_network, inet_ntoa, inet_makeaddr, inet_lnaof, inet_netof - funkce pro manipulace s adresami počítačů
SYNTAXE¶
#include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> int inet_aton(const char *cp, struct in_addr *inp); unsigned long int inet_addr(const char *cp); unsigned long int inet_network(const char *cp); char *inet_ntoa(struct in_addr in); struct in_addr inet_makeaddr(int net, int host); unsigned long int inet_lnaof(struct in_addr in); unsigned long int inet_netof(struct in_addr in);
POPIS¶
inet_aton() konvertuje adresu počítače v Internetu cp v klasické tečkové notaci do binárních dat a uloží ji do struktury, na kterou ukazuje inp. inet_aton vrací nenulové číslo, když je adresa platná, jinak vrací 0.
Funkce inet_addr() konvertuje Internetovou adresu cp ve standardní tečkové notaci do binární formy. není-li vstupní hodnota platná, je vráceno číslo -1. Tato funkce je zastaralým rozhraním k funkci inet_aton, popsané výše; je zbytečná, protože -1 je platná adresa (255.255.255.255) a funkce inet_aton poskytuje lepší možnosti indikace chyby.
Funkce inet_network() extrahuje číslo sítě z adresy cp, zadané ve standardní tečkové notaci. Není-li vstupní hodnota platná, je vrácena -1.
Funkce inet_ntoa() konvertuje Internetovou adresu počítače in do řetězce ve standardní tečkové notaci. Návratová hodnota je ukazatel na staticky alokovaný řetězec. Další volání stejné funkce by jej mohlo přepsat, proto byste jej měli zkopírovat, bude-li jej chtít ještě použít.
Funkce inet_makeaddr() vytvoří Internetovou adresu počítače spojením čísla sítě net a lokálního čísla v síti host.
Funkce inet_lnaof() vrací adresu počítače v síti z Internetové adresy in.
Funkce inet_netof() vrací adresu sítě z Internetové adresy in.
Struktura in_addr jak je použita v inet_ntoa(), inet_makeaddr(), inet_lnoaf() a inet_netof() je definována v netinet/in.h jako:
struct in_addr { unsigned long int s_addr; }
Pozor pořadí bytů na i80x86 je LSB (little endian), ale adresy na Internetu jsou v MSB (big endian).
SPLŇUJE STANDARDY¶
BSD 4.3
DALŠÍ INFORMACE¶
VAROVÁNͶ
Překlad je pravděpodobně zastaralý. Pokud chcete pomoci s jeho aktualizací, zamiřte na http://man-pages-cs-wiki.homelinux.net/
29. března 1997 | BSD |