|
HOME > Linux Tips ( 目次 ) > Linux コマンド 一覧表 > s > setaliasent - ライブラリコールの説明 setaliasent - ライブラリコールの説明 - Linux コマンド集 一覧表名前setaliasent, endaliasent, getaliasent, getaliasent_r, getaliasbyname, getaliasbyname_r - エイリアスエントリを読み込む 書式
#include <aliases.h>
説明ネームサービススイッチ (Name Service Switch, NSS) で 利用可能なデータベースの 1 つとして、 メールエイリアスを保持するエイリアスデータベースがある。 (どのデータベースがサポートされているかを調べるには、 getent --help を実行すること。) エイリアスデータベースにアクセスするために、 6 つの関数が提供されている。 getaliasent ()関数はエイリアスデータベースから取り出した グループ情報を含む構造体へのポインタを返す。 1 回目に関数が呼ばれたときには、最初のエントリを返す; それ以降はその後のエントリを返す。 setaliasent ()関数はファイルポインタをエイリアスデータベースの先頭に巻き戻す。 endaliasent ()関数はエイリアスデータベースをクローズする。 getaliasent_r ()関数は上記の関数のリエントラント版である。 要求された構造体は第 1 引き数に格納されるが、 プログラマは他の引き数も埋めてやる必要がある。 充分な領域が与えられないと、この関数は失敗する。 関数 getaliasbyname ()は name 引き数をとり、エイリアスデータベースを検索する。 エントリは struct aliasent へのポインタとして返される。 getaliasbyname_r ()は上記の関数のリエントラント版である。 要求された構造体は第 2 引き数に格納されるが、 プログラマは他の引き数も埋めてやる必要がある。 充分な領域が与えられないと、この関数は失敗する。 struct aliasent は <aliases.h> で定義されている。 struct aliasent {
char *alias_name; /* エイリアス名 */
size_t alias_members_len;
char **alias_members; /* エイリアス名のリスト */
int alias_local;
};
ファイルデフォルトのエイリアスデータベースは、ファイル /etc/aliases である。 これは /etc/nsswitch.conf ファイルで変更できる。 返り値関数 getaliasent_r ()と getaliasbyname_r ()は、エラーの場合に 0 以外の値を返す。 例
以下の例は
"gcc example.c -o example"
でコンパイルできる。
これはエイリアスデータベースにある全ての名前をダンプする。
#include <aliases.h> #include <stdio.h> #include <stdlib.h> #include <errno.h> 準拠
このルーチンは glibc 固有のものである。
NeXT には同様のルーチンがある。
#include <aliasdb.h> void alias_setent(void); void alias_endent(void); alias_ent *alias_getent(void); alias_ent *alias_getbyname(char *name); 関連項目
getgrent
(3),
getpwent
(3),
getspent
(3),
aliases
(5)
|
|