JM プロジェクトは、主に Linux 関連のマニュアルページの日本語ページを翻訳・公開しています。
... ついては netdevice (7) を参照)。 ifa_addr フィールドは、インターフェースのアドレスを格納した構造体へのポインターである ( sa_family サブフィールドを参照して、アドレス構造体の形式を判別すべきである)。 このフィールドはヌルポインターとなる場合がある。 ifa_n ... dlib.h > #include < unistd.h > #include < linux/if_link.h > int main(int argc, char *argv[]) { struct ifaddrs *ifaddr; int family, s; char host[NI_MAXHOST]; if (getifaddrs(&ifaddr) == -1) { perror("getifaddrs"); exit(EXIT_FAILURE); } /* Walk through li ... list later */ for (struct ifaddrs *ifa = ifaddr; ifa != NULL; ifa = ifa->ifa_next) { if (ifa->ifa_addr == NULL) continue; family = ifa->ifa_addr->sa_family; /* Display interface name and family (including symbolic form of the latter for the common fam ... ... ついては netdevice (7) を参照)。 ifa_addr フィールドは、インターフェースのアドレスを格納した構造体へのポインターである ( sa_family サブフィールドを参照して、アドレス構造体の形式を判別すべきである)。 このフィールドはヌルポインターとなる場合がある。 ifa_n ... dlib.h > #include < unistd.h > #include < linux/if_link.h > int main(int argc, char *argv[]) { struct ifaddrs *ifaddr; int family, s; char host[NI_MAXHOST]; if (getifaddrs(&ifaddr) == -1) { perror("getifaddrs"); exit(EXIT_FAILURE); } /* Walk through li ... list later */ for (struct ifaddrs *ifa = ifaddr; ifa != NULL; ifa = ifa->ifa_next) { if (ifa->ifa_addr == NULL) continue; family = ifa->ifa_addr->sa_family; /* Display interface name and family (including symbolic form of the latter for the common fam ... ... これらのメッセージは ifinfomsg 構造体と、それに続いていくつかの rtattr 構造体を伴う。 struct ifinfomsg { unsigned char ifi_family; /* AF_UNSPEC */ unsigned short ifi_type; /* Device type */ int ifi_index; /* Interface index */ unsigned int ifi_flags; / ... これらは ifaddrmsg 構造体を伴う。そのあとに rtattr ルーティング属性が続くこともある。 struct ifaddrmsg { unsigned char ifa_family; /* Address type */ unsigned char ifa_prefixlen; /* Prefixlength of address */ unsigned char ifa_flags; /* Address flags * ... / unsigned char ifa_scope; /* Address scope */ unsigned int ifa_index; /* Interface index */ }; ifa_family はアドレスファミリーのタイプである (現在は AF_INET または AF_INET6 )。 ifa_prefixlen はアドレスのアドレスマスクの長さである ... ... くすことができる。 getaddrinfo () が用いる addrinfo 構造体は以下のフィールドを含む。 struct addrinfo { int ai_flags; int ai_family; int ai_socktype; int ai_protocol; socklen_t ai_addrlen; struct sockaddr *ai_addr; char *ai_canonname; struct addrinfo *ai ... 体を選択するための基準を指定する。 hints が NULL でない場合、 hints は addrinfo 構造体を指し示し、その構造体のフィールド ai_family , ai_socktype , ai_protocol で getaddrinfo () が返すソケットアドレス集合に対する基準を指定する。 ai_family このフィールドは ... には 0 かヌルポインターを適切に入れなければならない。 hints に NULL を指定するのは、 ai_socktype と ai_protocol に 0 を、 ai_family に AF_UNSPEC を、 ai_flags に (AI_V4MAPPED | AI_ADDRCONFIG) を設定するのと等価である (POSIX では ai_flags には別のデフォル ... ... くすことができる。 getaddrinfo () が用いる addrinfo 構造体は以下のフィールドを含む。 struct addrinfo { int ai_flags; int ai_family; int ai_socktype; int ai_protocol; socklen_t ai_addrlen; struct sockaddr *ai_addr; char *ai_canonname; struct addrinfo *ai ... 体を選択するための基準を指定する。 hints が NULL でない場合、 hints は addrinfo 構造体を指し示し、その構造体のフィールド ai_family , ai_socktype , ai_protocol で getaddrinfo () が返すソケットアドレス集合に対する基準を指定する。 ai_family このフィールドは ... には 0 かヌルポインターを適切に入れなければならない。 hints に NULL を指定するのは、 ai_socktype と ai_protocol に 0 を、 ai_family に AF_UNSPEC を、 ai_flags に (AI_V4MAPPED | AI_ADDRCONFIG) を設定するのと等価である (POSIX では ai_flags には別のデフォル ... ... くすことができる。 getaddrinfo () が用いる addrinfo 構造体は以下のフィールドを含む。 struct addrinfo { int ai_flags; int ai_family; int ai_socktype; int ai_protocol; socklen_t ai_addrlen; struct sockaddr *ai_addr; char *ai_canonname; struct addrinfo *ai ... 体を選択するための基準を指定する。 hints が NULL でない場合、 hints は addrinfo 構造体を指し示し、その構造体のフィールド ai_family , ai_socktype , ai_protocol で getaddrinfo () が返すソケットアドレス集合に対する基準を指定する。 ai_family このフィールドは ... には 0 かヌルポインターを適切に入れなければならない。 hints に NULL を指定するのは、 ai_socktype と ai_protocol に 0 を、 ai_family に AF_UNSPEC を、 ai_flags に (AI_V4MAPPED | AI_ADDRCONFIG) を設定するのと等価である (POSIX では ai_flags には別のデフォル ... ... ることもできる。 アドレスのフォーマット UNIX ドメインソケットのアドレスは以下の構造体で表現される。 struct sockaddr_un { sa_family_t sun_family; /* AF_UNIX */ char sun_path[108]; /* Pathname */ }; The sun_family field always contains AF_UNIX . On Linux, ... rlen(sun_path) + 1 であり、 sun_path にはヌル終端されたパス名が格納される。 (Linux では、上記の offsetof () 式は sizeof(sa_family_t) の値と同じだが、 他の実装では sun_path の前に他のフィールドが含まれる場合もある。 そのため、 offsetof () 式を使う方がよ ... cketpair (2) で作成される 2 つのソケットも名前を持たない。 名前なしのソケットのアドレスを返す際には、 その長さは sizeof(sa_family_t) であり、 sun_path は検査すべきではない。 * abstract (抽象) : 抽象ソケットアドレスは、 sun_path[0] がヌルバイト ('\0') で ... ... f(char ** ahost , unsigned short inport , const char * locuser , const char * remuser , const char * cmd , int * fd2p , sa_family_t af ); int rresvport_af(int * port , sa_family_t af ); int iruserok_af(const void * raddr , int superuser , const char * ... ruser , const char * luser , sa_family_t af ); int ruserok_af(const char * rhost , int superuser , const char * ruser , const char * luser , sa_family_t af ); gl ... ... f(char ** ahost , unsigned short inport , const char * locuser , const char * remuser , const char * cmd , int * fd2p , sa_family_t af ); int rresvport_af(int * port , sa_family_t af ); int iruserok_af(const void * raddr , int superuser , const char * ... ruser , const char * luser , sa_family_t af ); int ruserok_af(const char * rhost , int superuser , const char * ruser , const char * luser , sa_family_t af ); gl ... ... f(char ** ahost , unsigned short inport , const char * locuser , const char * remuser , const char * cmd , int * fd2p , sa_family_t af ); int rresvport_af(int * port , sa_family_t af ); int iruserok_af(const void * raddr , int superuser , const char * ... ruser , const char * luser , sa_family_t af ); int ruserok_af(const char * rhost , int superuser , const char * ruser , const char * luser , sa_family_t af ); gl ... 日本語の文書やマニュアルを配布している個人/プロジェクトへのリンクです。