socklen_t

読み:ソックレン・ティー
外語:socklen_t 英語
品詞:名詞

CC++で、accept()で使用される、アドレスの長さを格納する型。

目次

FreeBSDでは、次のように定義される。

sys/socket.h

typedef __socklen_t socklen_t;

sys/_types.h

typedef __uint32_t __socklen_t;

machine/_types.h

typedef unsigned int __uint32_t;

つまり、32ビット環境のFreeBSDでは、間接的にunsigned intで定義される。

accept()の第3引数は、元々はint *で宣言されていた。

POSIXはこれが気に入らなかったらしく、POSIXドラフト版でsize_t *に変更した。しかしBSDソケットインターフェイスの仕様上、ここはintと同じサイズが要求されており、もし本当にsize_tにしてしまうと、size_tの長さがintより長い場合にソケット層が破壊されてしまう。このためクレームが入り、やむを得ずint *と同じ長さのsocklen_t *とすることでお茶が濁された、という経緯がある。

用語の所属
_t

コメントなどを投稿するフォームは、日本語対応時のみ表示されます


KisoDic通信用語の基礎知識検索システム WDIC Explorer Version 7.04a (27-May-2022)
Search System : Copyright © Mirai corporation
Dictionary : Copyright © WDIC Creators club