構造体メモ
hostent構造体の内容
ーーーーーーーーーーーーーーーーーーーーーー
struct hostent {
char *h_name; /* ホスト名 */
char **h_aliases; /* エイリアスのリスト */
int h_addrtype; /* ホストアドレスの種類*/
int h_length; /* アドレスの長さ */
char **h_addr_list; /* ネームサーバから取得したアドレスのリスト */
};
ーーーーーーーーーーーーーーーーーーーーーーー
servent構造体の内容
ーーーーーーーーーーーーーーーーーーーーーー
struct servent {
char *s_name; /* サービス名 */
char **s_aliases; /* エイリアスのリスト */
int s_port; /* ポート番号 */
char *s_proto; /* プロトコル */
};
ーーーーーーーーーーーーーーーーーーーーーーー
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_next; /* リストの次の項目へのポインタ */
};
ーーーーーーーーーーーーーーーーーーーーーーー
sockaddr_in構造体の内容
ーーーーーーーーーーーーーーーーーーーーーー
struct sockaddr_in {
u_char sin_len; /* 構造体の長さ */
u_char sin_family; /* PF_INET */
u_short sin_port; /* ポート番号 */
struct in_addr sin_addr; /*アドレス*/
char sin_zero[8]; /*詰物*/
};
ーーーーーーーーーーーーーーーーーーーーーーー
sockaddr_in6構造体の内容
ーーーーーーーーーーーーーーーーーーーーーー
struct sockaddr_in6 {
sa_family_t sin6_family; /*アドレスファミリ(AF_INET6) */
in_port_t sin6_port; /* トランスポート層のポート番号* /
uint32_t sin6_flowinfo; /* トラフィックの情報 */
struct in6_addr sin6_addr; /* IPv6アドレス*/
uint32_t sin6_scope_id; /* アドレスのスコープ */
}:
ーーーーーーーーーーーーーーーーーーーーーーー
in_addr構造体の内容
ーーーーーーーーーーーーーーーーーーーーーー
struct in_addr {
u_int32_t s_addr; /*IPv4アドレス*/
};
ーーーーーーーーーーーーーーーーーーーーーーー
in6_addr構造体の内容
ーーーーーーーーーーーーーーーーーーーーーー
struct in6_addr {
uint8_t s6_addr[16]; /* IPv6 アドレス */
};
ーーーーーーーーーーーーーーーーーーーーーーー
関数については関数メモを参照