構造体メモ


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 アドレス */
};
ーーーーーーーーーーーーーーーーーーーーーーー
関数については関数メモを参照