Unix-system-calls-getsockopt
[top]#
[[File:]]
[[File:]] |
|Web |This Site
- 初心者向けのUnix *
- Unix-ホーム
- Unix-はじめに
- Unix-ファイル管理
- Unix-ディレクトリ
- Unix-ファイル権限
- Unix-環境
- Unix-基本ユーティリティ
- Unix-パイプとフィルタ
- Unix-プロセス
- Unix-コミュニケーション
- Unix-The Vi Editor
- Unix Shellプログラミング*
- Unix-シェルとは?
- Unix-変数の使用
- Unix-特殊変数
- Unix-配列の使用
- Unix-基本的な演算子
- Unix-意思決定
- Unix-シェルループ
- Unix-ループ制御
- Unix-シェル置換
- Unix-引用メカニズム
- Unix-IOリダイレクト
- UNIX-シェル関数
- Unix-マンページヘルプ
- 高度なUnix *
- Unix-正規表現
- Unix-ファイルシステムの基本
- Unix-ユーザー管理
- Unix-システムパフォーマンス
- Unix-システムログ
- Unix-信号とトラップ
- Unixの便利なリファレンス*
- Unix-便利なコマンド
- Unix-クイックガイド
- Unix-組み込み関数
- Unix-システムコール
- Unix-コマンドリスト
- Unixの役立つリソース*
- Unix役立つリソース
選択した読書
Copyright©2014 by finddevguides
Home | References | Discussion Forums | About TP |
getsockopt()-Unix、Linuxシステムコール
[[File:]] image :http://www.finddevguides.com/images/next.gif [next] image:http://www.finddevguides.com/add- this.gif [AddThisソーシャルブックマークボタン]
広告
NAME
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_を SOL_SOCKET として指定します。 他のレベルでオプションを操作するには、オプションを制御する適切なプロトコルのプロトコル番号が提供されます。 たとえば、オプションが TCP プロトコルによって解釈されることを示すには、_level_を TCP のプロトコル番号に設定する必要があります。 getprotoent (3)を参照してください。
パラメーター_optval_および_optlen_は、 setsockopt ()のオプション値にアクセスするために使用されます。 getsockopt ()の場合、要求されたオプションの値が返されるバッファーを識別します。 getsockopt ()の場合、_optlen_は値結果パラメーターであり、最初は_optval_が指すバッファーのサイズを含み、戻り時に変更されて、返される値の実際のサイズを示します。 オプション値が提供または返されない場合、_optval_はNULLになる場合があります。
Optname_および指定されたオプションは、解釈のために適切なプロトコルモジュールに解釈されずに渡されます。 インクルードファイル <sys/socket.h> _には、以下で説明するソケットレベルオプションの定義が含まれています。 他のプロトコルレベルのオプションは、形式と名前が異なります。マニュアルのセクション4の適切なエントリを参照してください。
ほとんどのソケットレベルのオプションは、_optval_の_int_パラメーターを利用します。 setsockopt ()の場合、ブールオプションを有効にするにはパラメーターをゼロ以外にする必要があり、オプションを無効にする場合はパラメーターをゼロにする必要があります。
使用可能なソケットオプションの説明については、 socket (7)および適切なプロトコルのマニュアルページを参照してください。
返り値
成功すると、ゼロが返されます。 エラーの場合、-1が返され、_errno_が適切に設定されます。
エラー
Tag
説明
*EBADF*
引数_s_は有効な記述子ではありません。
*EFAULT*
_optval_が指すアドレスは、プロセスのアドレス空間の有効な部分にありません。 getsockopt ()の場合、_optlen_がプロセスアドレス空間の有効な部分にない場合にも、このエラーが返されることがあります。
*EINVAL*
_optlen_は setsockopt ()では無効です。
*ENOPROTOOPT*
オプションは、示されたレベルでは不明です。
*ENOTSOCK*
引数_s_は、ソケットではなくファイルです。
準拠
SVr4、4.4BSD(これらのシステムコールは4.2BSDではじめて登場)、POSIX.1-2001。
NOTE
*getsockopt* および *setsockopt* の_optlen_引数は、実際には_int [*] _です(これは4.x BSDとlibc4およびlibc5が持っているものです)。 POSIXの混乱により、現在_socklen_t_が生じ、これもglibcで使用されています。 *accept* (2)も参照してください。
BUGS
ソケットオプションのいくつかは、システムの下位レベルで処理する必要があります。
関連項目
[[File:]] image :http://www.finddevguides.com/images/next.gif [next] [[File:]]
広告
Advertisements |