JM プロジェクトは、主に Linux 関連のマニュアルページの日本語ページを翻訳・公開しています。
... ; 説明 getsockname () は、ソケット sockfd に結び付けられている現在のアドレスを、 addr が指すバッファーに格納して返す。 addrlen 引数は、 addr が指している領域のサイズ (バイト単位) に初期化しておかなければならない。 関数が返る時には、 addrlen にはソケ ... (バイト単位) が格納される。 渡されたバッファーが小さ過ぎた場合は、返されるアドレスの末尾が切り詰められる。 この場合には、 addrlen には、呼び出し時に指定された値よりも大きな値が格納される。 返り値 成功した場合にはゼロが返される。エラー時には -1 が返され ... ファイルディスクリプターでない。 EFAULT 引数 addr の指しているメモリーがプロセスのアドレス空間の有効な部分ではない。 EINVAL addrlen が不正である (例えば、負で場合など)。 ENOBUFS 処理をするだけの十分なリソースがシステムに無い。 ENOTSOCK ファイルディスクリ ... ... en_t * addrlen ); 説明 getpeername () は、ソケット(socket) sockfd に接続している相手のアドレスを、 addr が指すバッファーに格納して返す。 ... addrlen 引数は、 addr が指している領域のサイズに初期化しておかなければならない。 関数が返る時には、 addrlen には実際に返された名前のサイズが (バイト単位で) 格納される。 提供されたバッファーが小さすぎた場合には、名前は切り詰められる ... 。 渡されたバッファーが小さ過ぎた場合は、返されるアドレスの末尾が切り詰められる。 この場合には、 addrlen には、呼び出し時に指定された値よりも大きな値が格納される。 返り値 成功した場合は 0 が返される。エラーの場合は -1 が返され、 ... ... 特別な意味はない)。 この名前はファイルシステムのパス名とは何の関係もない。 抽象ソケットのアドレスを返される際には、 返される addrlen は sizeof(sa_family_t) より大きく (つまり 2 より大きく)、 ソケットの名前は sun_path の最初の (addrlen - sizeof(sa_family_t ... 終端のヌルバイトを含めたパス名の長さは sun_path の大きさを超えないようにすべきである。 * sockaddr_un 構造体の終わりを示す addrlen 引数は最低でも以下の値を持つべきである。 offsetof(struct sockaddr_un, sun_path)+strlen(addr.sun_path)+1 もしくは、もっと簡 ... 単には、 addrlen に sizeof(struct sockaddr_un) を指定することもできる。 UNIX ドメインソケットアドレスの扱いが上記のルールに従っていない実装 ... ... ockaddr * addr , socklen_t * addrlen ); #define _GNU_SOURCE /* feature_test_macros (7) 参照 */ #include < sys/socket.h > int accept4(int sockfd , struct sockad ... dr * addr , socklen_t * addrlen , int flags ); 説明 accept () システムコールは、接続指向のソケット型 ( SOCK_STREAM , SOCK_SEQPACKET ) で用いられる。 この関 ... 変わる ( socket (2) およびそれぞれのプロトコルの man ページを参照)。 addr が NULL の場合、 addr には何も入らない。この場合、 addrlen は使用されず、この引数は NULL にしておくべきである。 addrlen 引数は入出力両用の引数である。呼び出し時には、呼び出し元が ad ... ... ockaddr * addr , socklen_t * addrlen ); #define _GNU_SOURCE /* feature_test_macros (7) 参照 */ #include < sys/socket.h > int accept4(int sockfd , struct sockad ... dr * addr , socklen_t * addrlen , int flags ); 説明 accept () システムコールは、接続指向のソケット型 ( SOCK_STREAM , SOCK_SEQPACKET ) で用いられる。 この関 ... 変わる ( socket (2) およびそれぞれのプロトコルの man ページを参照)。 addr が NULL の場合、 addr には何も入らない。この場合、 addrlen は使用されず、この引数は NULL にしておくべきである。 addrlen 引数は入出力両用の引数である。呼び出し時には、呼び出し元が ad ... ... nst struct sockaddr * addr , socklen_t addrlen , char * host , socklen_t hostlen , char * serv , socklen_t servlen , int flags ); glibc 向けの機能検査マクロの要件 ( feat ... ポート番号の情報を保持している 汎用的なソケットアドレス構造体 ( sockaddr_in 型または sockaddr_in6 型) へのポインターである。 addrlen は addr のサイズである。 host と serv 引数は、(それぞれサイズが hostlen と servlen の) 呼び出し側で確保されたバッファーへの ... ファミリーに対する参照情報は 一切ハードコードされていないことに着目してほしい。 struct sockaddr *addr; /* input */ socklen_t addrlen; /* input */ char hbuf[NI_MAXHOST], sbuf[NI_MAXSERV]; if (getnameinfo(addr, addrlen, hbuf, sizeof(hbuf), sbuf, sizeof(sbuf ... ... int flags ); ssize_t recvfrom(int sockfd , void * buf , size_t len , int flags , struct sockaddr * src_addr , socklen_t * addrlen ); ssize_t recvmsg(int sockfd , struct msghdr * msg , int flags ); 説明 recv (), recvfrom (), recvmsg () コールは、 ソケッ ... ロトコルからメッセージの送信元アドレスが分かる場合、 この送信元アドレスが src_addr が指すバッファーに格納される。 この場合、 addrlen は入出力両用の引数となる。 呼び出し前に、呼び出し元は src_addr に割り当てたバッファーの大きさで初期化しておくべきである。 ... 返ってくる時には、 addrlen は送信元アドレスの実際の大きさに変更される。渡されたバッファーが小さ過ぎる場合には、返されるアドレスの末尾は 切り詰められる ... ... int flags ); ssize_t recvfrom(int sockfd , void * buf , size_t len , int flags , struct sockaddr * src_addr , socklen_t * addrlen ); ssize_t recvmsg(int sockfd , struct msghdr * msg , int flags ); 説明 recv (), recvfrom (), recvmsg () コールは、 ソケッ ... ロトコルからメッセージの送信元アドレスが分かる場合、 この送信元アドレスが src_addr が指すバッファーに格納される。 この場合、 addrlen は入出力両用の引数となる。 呼び出し前に、呼び出し元は src_addr に割り当てたバッファーの大きさで初期化しておくべきである。 ... 返ってくる時には、 addrlen は送信元アドレスの実際の大きさに変更される。渡されたバッファーが小さ過ぎる場合には、返されるアドレスの末尾は 切り詰められる ... ... int flags ); ssize_t recvfrom(int sockfd , void * buf , size_t len , int flags , struct sockaddr * src_addr , socklen_t * addrlen ); ssize_t recvmsg(int sockfd , struct msghdr * msg , int flags ); 説明 recv (), recvfrom (), recvmsg () コールは、 ソケッ ... ロトコルからメッセージの送信元アドレスが分かる場合、 この送信元アドレスが src_addr が指すバッファーに格納される。 この場合、 addrlen は入出力両用の引数となる。 呼び出し前に、呼び出し元は src_addr に割り当てたバッファーの大きさで初期化しておくべきである。 ... 返ってくる時には、 addrlen は送信元アドレスの実際の大きさに変更される。渡されたバッファーが小さ過ぎる場合には、返されるアドレスの末尾は 切り詰められる ... ... ddr , socklen_t addrlen ); 説明 socket (2) でソケットが作成されたとき、そのソケットは名前空間 (アドレスファミリー) に 存在するが、アドレスは割り当 ... てられていない。 bind () は、ファイルディスクリプター sockfd で参照されるソケットに addr で指定されたアドレスを割り当てる。 addrlen には addr が指すアドレス構造体のサイズをバイト単位で指定する。 伝統的にこの操作は 「ソケットに名前をつける」 と呼ばれる。 ... EBADF sockfd が有効なファイルディスクリプターでない。 EINVAL ソケットがすでにアドレスに結びつけ (bind) られている。 EINVAL addrlen が間違っているか、 addr がこのソケットのドメインで有効なアドレスではない。 ENOTSOCK ファイルディスクリプター sockfd がソケ ... 日本語の文書やマニュアルを配布している個人/プロジェクトへのリンクです。