ngx_command_t
¶モジュールのための設定ディレクティブを定義するためのstruct。
この struct は一般的に設定ディレクティブの静的な配列を生成するために使われるでしょう。配列はngx_null_command
を使って終わられなければなりません。メールモジュールの例:
static ngx_command_t ngx_mail_commands[] = {
{ ngx_string("mail"),
NGX_MAIN_CONF|NGX_CONF_BLOCK|NGX_CONF_NOARGS,
ngx_mail_block,
0,
0,
NULL },
ngx_null_command
};
例では以下が使われています: Catch Body Filter Example
type
¶種類 | 解説 |
---|---|
NGX_CONF_NOARGS | ディレクティブは引数を取りません |
NGX_CONF_TAKE1 | ディレクティブは1つの引数を取ります |
NGX_CONF_TAKE2 | ディレクティブは2つの引数を取ります |
NGX_CONF_TAKE3 | ディレクティブは3つの引数を取ります |
NGX_CONF_TAKE4 | ディレクティブは4つの引数を取ります |
NGX_CONF_TAKE5 | ディレクティブは5つの引数を取ります |
NGX_CONF_TAKE6 | ディレクティブは6つの引数を取ります |
NGX_CONF_TAKE7 | ディレクティブは7つの引数を取ります |
NGX_CONF_TAKE12 | ディレクティブは1つまたは2つの引数を取ります (NGX_CONF_TAKE1 | NGX_CONF_TAKE2 のエイリアス) |
NGX_CONF_TAKE13 | ディレクティブは1つあるいは3つの引数を取ります (NGX_CONF_TAKE1 | NGX_CONF_TAKE3 のエイリアス) |
NGX_CONF_TAKE23 | ディレクティブは2つまたは3つの引数を取ります (NGX_CONF_TAKE2 | NGX_CONF_TAKE3 のエイリアス) |
NGX_CONF_TAKE123 | ディレクティブは1から3つの引数を取ります (NGX_CONF_TAKE1 | NGX_CONF_TAKE2 | NGX_CONF_TAKE3 のエイリアス) |
NGX_CONF_TAKE1234 | ディレクティブは1から4つの引数を取ります (NGX_CONF_TAKE1 | NGX_CONF_TAKE2 | NGX_CONF_TAKE3 | NGX_CONF_TAKE4 のエイリアス) |
NGX_CONF_BLOCK | 引数は設定ブロックです |
NGX_CONF_FLAG | ディレクティブは onと offの値を持つフラグです |
NGX_CONF_ANY | ディレクティブは0個以上の引数を取ります |
NGX_CONF_1MORE | ディレクティブは1つ以上の引数を取ります |
NGX_CONF_2MORE | ディレクティブは2つ以上の引数を取ります |
NGX_DIRECT_CONF | メインの設定ファイルの中だけにあるディレクティブ |
NGX_MAIN_CONF | メインの設定レベルの中だけにあるディレクティブ |
NGX_ANY_CONF | ディレクティブはどのレベル/ディレクティブの中でも使うことができます |
NGX_HTTP_MAIN_CONF | httpディレクティブのためのディレクティブ |
NGX_HTTP_SRV_CONF | httpディレクティブの中のserverディレクティブのためのディレクティブ |
NGX_HTTP_LOC_CONF | httpディレクティブの中のlocationディレクティブのためのディレクティブ |
NGX_HTTP_UPS_CONF | httpディレクティブの中のupstreamディレクティブのためのディレクティブ |
NGX_HTTP_SIF_CONF | serverブロックのif文のためのディレクティブ |
NGX_HTTP_LIF_CONF | locationブロックのif文のためのディレクティブ |
NGX_HTTP_LMT_CONF | limit_except ブロックのためのディレクティブ |
(set)
(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)¶ディレクティブが設定の中で見つかった場合に呼ばれるコールバック関数これは、成功時には NGX_CONF_OK
を返し、エラー時にはNGX_CONF_ERROR
を返さなければなりません。
NGINXと一緒にすでに提供されていて使うことができる幾つかのコールバックハンドラがあります:
コールバック名 | データタイプ | 解説 |
---|---|---|
ngx_conf_set_flag_slot | ngx_flag_t |
真偽値としてon と off が可能です |
ngx_conf_set_str_slot | ngx_str_t |
|
ngx_conf_set_str_array | ngx_array_t * |
ngx_str_t の配列へのポインタを返します |
ngx_conf_set_keyval_slot | ngx_array_t * |
ngx_keyval_t の配列へのポインタを返します |
ngx_conf_set_num_slot | ngx_int_t |
|
ngx_conf_set_size_slot | size_t |
|
ngx_conf_set_off_slot | off_t |
|
ngx_conf_set_msec_slot | ngx_msec_t |
|
ngx_conf_set_sec_slot | time_t |
|
ngx_conf_set_bufs_slot | ngx_bufs_t |
|
ngx_conf_set_bitmask_slot | ngx_uint_t |
パラメータ: |
|
---|
conf
¶ディレクティブの値が保存されるべき場所。可能な選択肢は:
offset
¶このディレクティブのためのデータを保存する先の設定struct内でのオフセット。これは標準Cのstddef.h
のoffsetof()
マクロを使って設定されなければなりません。
post
¶post-processor関数を含むngx_conf_post_t
structへのポインタ。
ngx_conf_post_t
¶post processorの設定へのポインタを含むstruct
(*ngx_conf_post_handler_pt)
(ngx_conf_t *cf, void *data, void *conf)¶設定オプションを処理した後で呼ばれるコールバック関数。これは、成功時には NGX_CONF_OK
を返し、エラー時にはNGX_CONF_ERROR
を返さなければなりません。
パラメータ: |
|
---|
ngx_http_conf_get_module_main_conf
(ngx_conf_t *cf, ngx_module_t *module)¶設定オブジェクトからモジュールのhttpコア設定オブジェクトを取得するマクロ
パラメータ: |
|
---|---|
返り値: | モジュールのためのコア設定structへのポインタ |
ngx_http_conf_get_module_srv_conf
(ngx_conf_t *cf, ngx_module_t *module)¶設定オブジェクトからモジュールのhttpサーバblock設定オブジェクトを取得するマクロ
パラメータ: |
|
---|---|
返り値: | モジュールのためのサーバblock設定structへのポインタ |
ngx_http_conf_get_module_loc_conf
(ngx_conf_t *cf, ngx_module_t *module)¶設定オブジェクトからモジュールのhttp location block設定オブジェクトを取得するマクロ
パラメータ: |
|
---|---|
返り値: | モジュールのためのlocation block設定structへのポインタ |
ngx_http_get_module_main_conf
(ngx_http_request_t *r, ngx_module_t *module)¶設定オブジェクトからモジュールのhttpコア request オブジェクトを取得するマクロ
パラメータ: |
|
---|---|
返り値: | モジュールのためのコア設定structへのポインタ |
ngx_http_get_module_srv_conf
(ngx_http_request_t *r, ngx_module_t *module)¶requestオブジェクトからモジュールのhttp server block設定オブジェクトを取得するマクロ
パラメータ: |
|
---|---|
返り値: | モジュールのためのサーバblock設定structへのポインタ |
ngx_http_get_module_loc_conf
(ngx_http_request_t *r, ngx_module_t *module)¶requestオブジェクトからモジュールのhttp location block設定オブジェクトを取得するマクロ
例では以下が使われています: Catch Body Filter Example
パラメータ: |
|
---|---|
返り値: | モジュールのためのlocation block設定structへのポインタ |