Provided by: manpages-ja-dev_0.5.0.0.20070415-1_all bug
     前
        getsockopt, setsockopt - ソケットのオプションの設定と取得を行なう
 
     式
        #include <sys/types.h>
        #include <sys/socket.h>
 
        int  getsockopt(int  s, int level, int optname, void *optval, socklen_t
        *optlen);
 
        int setsockopt(int s, int  level,  int  optname,  const  void  *optval,
        socklen_t optlen);
 
     明
        getsockopt()     と     setsockopt()    はソケットに関連する    options
        を操作する。オプションは複数のプロトコル層(level)に存在するかもしれないが、
        これらは常に最上位の socket 層へと設定される。
 
        ソケット・オプションを操作する際には、オプションの層(level)とオプションの
        名前を指定しなければならない。ソケット層でオプションを操作する為には、
        level              を              SOL_SOCKET              に指定する。
        他の全ての層でオプションを操作する為には、与えられたオプションの
        制御主体となるプロトコルのプロトコル番号を指定する。例えば、
        オプションが TCP プロトコルで解釈されるべい海箸鮖惻┐垢襪砲蓮 level に
        TCP      のプロトコル番号を指定しなければならない。      getprotoent(3)
        を参照すること。
 
        optval       と        optlen        パラメーターは        setsockopt()
        のオプションの値にアクセスするために用いられる。           getsockopt()
        では要求したオプションの値を返すためのバッファーを指定する。   getsock-
        opt()   では   optlen   は値と結果両用のパラメーターで、最初に   optval
        の指しているバッファーのサイズを与え、実際に返される値のサイズに   書-
        換えられる。もしオプション値を与えず、返されもしない場合には  optval は
        NULL でも良い。
 
        optname
        および指定されたオプションは解釈されずに、適切なプロトコル・モジュールに
        渡されて解釈される。インクルード・ファイル               <sys/socket.h>
        には後述のソケット層のオプションの定義が含まれている。
        他のプロトコル層では名前や形式は異なる。    マニュアルのセクション    4
        の適切なエントリを参照すること。
 
        ほとんどのソケット層のオプションは         optval         に        int
        パラメーターを利用する。  setsockopt()  で、二値(boolean)オプションを-
        効(enable)にするにはゼロ以外を指定し、                        無効(dis-
        able)にするにはゼロを指定する。
 
        利用可能なソケットオプションの説明に関しては、                socket(7)
        と適切なプロトコルの man ページを参照のこと。
 
         値
        成功した場合にはゼロを返す。エラー時には     -1     が返され、    errno
        が適切に設定される。
 
         ー
        EBADF     引た s が邑なディスクリプタでない。
 
        EFAULT    optval       で指定されたアドレスがプロセスのアドレス空間の-
                  効な部分ではない。      getsockopt()      の場合、     optlen
                  がプロセスのアドレス空間の-
                  効な部分でない場合にもこのエラーが返される。
 
        EINVAL    setsockopt() で option が不正である。
 
        ENOPROTOOPT
                  指定された層(level)にはこのオプションは存在しない。
 
        ENOTSOCK  引た s はファイルであり、ソケットでない。
 
     拠
        SVr4,   4.4BSD   (これらのシステム・コールは   4.2BSD  で最初に現れた),
        POSIX.1-2001.
 
     意
        getsockopt と setsockopt の optlen 引た瑤麓尊櫃 int [*] である (そして
        4.x    BSD    と    libc4    と    libc5    はそうなっている)。   POSIX
        では紆余曲折を経て現在の socklen_t になっており、 glibc でも  socklen_t
        を使っている。 accept(2) も参照のこと。
 
     グ
        ソケットのオプションのいくつかはシステムのより低い層で   処理されるべ-
        である。
 
             
        ioctl(2), socket(2), getprotoent(3), protocols(5),  socket(7),  tcp(7),
        unix(7)