JM プロジェクトは、主に Linux 関連のマニュアルページの日本語ページを翻訳・公開しています。
... 件 ( feature_test_macros (7) 参照): sockatmark (): _POSIX_C_SOURCE >= 200112L 説明 sockatmark () はファイルディスクリプター sockfd で参照されるソケットに帯域外マークが付けられているか否かを返す。 ソケットにマークが付けられている場合は、1 が返される。 ソ ... いれば 1 を返し、付けられていなければ 0 を返す。 エラーの場合は -1 が返され、エラーを表す errno が設定される。 エラー EBADF sockfd が有効なファイルディスクリプターでない。 EINVAL sockfd は sockatmark () が適用できないファイルディスクリプターである。 バー ... れたデータのバイトを読み込むのに使用できる。 char buf[BUF_LEN]; char oobdata; int atmark, s; for (;;) { atmark = sockatmark(sockfd); if (atmark == -1) { perror("sockatmark"); break; } if (atmark) break; s = read(sockfd, buf, BUF_LEN); if (s == -1) perro ... ... ); 説明 listen () は sockfd が参照するソケットを接続待ちソケット (passive socket) として印をつける。 接続待ちソケットとは、 accept (2) を使って到着した ... 接続要求を受け付けるのに使用されるソケットである。 sockfd 引数は、 SOCK_STREAM 型か SOCK_SEQPACKET 型のソケットを参照するファイルディスクリプターである。 backlog 引数は、 sockfd に ... れる。 エラー EADDRINUSE 別のソケットが既に同じポートを listen している。 EADDRINUSE (インターネットドメインソケットの場合) sockfd が参照するソケットがそれ以前にアドレスにバインドされておらず、 そのソケットに一時ポートをバインドしようとした際に、 一時ポ ... ... nt sockfd , struct mmsghdr * msgvec , unsigned int vlen , int flags ); 説明 sendmmsg () システムコールは sendmsg (2) の拡張で、 この ... ムコールを使うと一度の呼び出しでソケットに複数のメッセージを送信できる (アプリケーションによっては性能上のメリットがある)。 sockfd 引数は、 データを送信するソケットのファイルディスクリプターである。 msgvec 引数は mmsghdr 構造体の配列である。 この配列の大 ... io.h > #include < stdlib.h > #include < string.h > #include < sys/types.h > #include < sys/socket.h > int main(void) { int sockfd; struct sockaddr_in addr; struct mmsghdr msg[2]; struct iovec msg1[2], msg2; int retval; sockfd = socket(AF_INET, SOCK_DGR ... ... ddr * addr , socklen_t addrlen ); 説明 connect () システムコールは、ファイルディスクリプター sockfd が参照しているソケットを addr で指定されたアドレスに接続する。 addrlen 引数は addr の大きさを示す。 addr のアドレスのフォー ... マットはソケット sockfd のアドレス空間により異なる。 さらなる詳細は socket (2) を参照のこと。 ソケット sockfd が SOCK_DGRAM 型であれば、 addr は、 ... different port). dd EADDRINUSE ローカルアドレスが既に使用されている。 EADDRNOTAVAIL (インターネットドメインソケットの場合) sockfd が参照するソケットがそれ以前にアドレスにバインドされておらず、 そのソケットに一時ポートをバインドしようとした際に、 一時ポ ... ... 送受信を禁止する。 返り値 成功した場合は 0 が返される。エラーの場合は -1 が返され、 errno が適切に設定される。 エラー EBADF sockfd が有効なファイルディスクリプターでない。 EINVAL how に無効な値が指定された (バグが参照)。 ENOTCONN 指定されたソケットは接続 ... されていない。 ENOTSOCK ファイルディスクリプター sockfd がソケットを参照していない。 準拠 POSIX.1-2001, POSIX.1-2008, 4.4BSD ( shutdown () は 4.2BSD で初めて登場した)。 注意 SHUT ... ... (int sockfd , struct mmsghdr * msgvec , unsigned int vlen , int flags , struct timespec * timeout ); 説明 recvmmsg () システムコールは ... ては性能上のメリットがある)。 他に recvmsg (2) から拡張されている点としては、受信操作におけるタイムアウトのサポートがある。 sockfd 引数は、データを受信するソケットのファイルディスクリプターである。 msgvec 引数は mmsghdr 構造体の配列である。 この配列の大 ... #include < string.h > #include < sys/socket.h > int main(void) { #define VLEN 10 #define BUFSIZE 200 #define TIMEOUT 1 int sockfd, retval; struct sockaddr_in addr; struct mmsghdr msgs[VLEN]; struct iovec iovecs[VLEN]; char bufs[VLEN][BUFSIZE+1]; struct ... ... ; 説明 getsockname () は、ソケット sockfd に結び付けられている現在のアドレスを、 addr が指すバッファーに格納して返す。 addrlen 引数は、 addr が指している領域のサイズ ... 格納される。 返り値 成功した場合にはゼロが返される。エラー時には -1 が返され、 errno が適切に設定される。 エラー EBADF 引数 sockfd は有効なファイルディスクリプターでない。 EFAULT 引数 addr の指しているメモリーがプロセスのアドレス空間の有効な部分ではない ... 正である (例えば、負で場合など)。 ENOBUFS 処理をするだけの十分なリソースがシステムに無い。 ENOTSOCK ファイルディスクリプター sockfd がソケットを参照していない。 準拠 POSIX.1-2001, POSIX.1-2008, SVr4, 4.4BSD ( getsockname () は 4.2BSD で初めて実装された) ... ... size_t len , int flags ); ssize_t sendto(int sockfd , const void * buf , size_t len , int flags , const struct sockaddr * dest_addr , socklen_t addrlen ); ssize_t sendmsg(int ... sockfd , const struct msghdr * msg , int flags ); 説明 システムコール send (), sendto (), sendmsg () は、もう一方のソケットへメッ ... に flags があるかどうかだけである。 引数 flags にフラグが指定されない場合、 send () は write (2) と等価である。 また、 send(sockfd, buf, len, flags); は以下と等価である。 sendto(sockfd, buf, len, flags, NULL, 0); 引数 sockfd は、データを送信するパケット ... ... size_t len , int flags ); ssize_t sendto(int sockfd , const void * buf , size_t len , int flags , const struct sockaddr * dest_addr , socklen_t addrlen ); ssize_t sendmsg(int ... sockfd , const struct msghdr * msg , int flags ); 説明 システムコール send (), sendto (), sendmsg () は、もう一方のソケットへメッ ... に flags があるかどうかだけである。 引数 flags にフラグが指定されない場合、 send () は write (2) と等価である。 また、 send(sockfd, buf, len, flags); は以下と等価である。 sendto(sockfd, buf, len, flags, NULL, 0); 引数 sockfd は、データを送信するパケット ... ... size_t len , int flags ); ssize_t sendto(int sockfd , const void * buf , size_t len , int flags , const struct sockaddr * dest_addr , socklen_t addrlen ); ssize_t sendmsg(int ... sockfd , const struct msghdr * msg , int flags ); 説明 システムコール send (), sendto (), sendmsg () は、もう一方のソケットへメッ ... に flags があるかどうかだけである。 引数 flags にフラグが指定されない場合、 send () は write (2) と等価である。 また、 send(sockfd, buf, len, flags); は以下と等価である。 sendto(sockfd, buf, len, flags, NULL, 0); 引数 sockfd は、データを送信するパケット ... 日本語の文書やマニュアルを配布している個人/プロジェクトへのリンクです。