EN JA
GETNETCONFIG(3)
GETNETCONFIG(3) FreeBSD Library Functions Manual GETNETCONFIG(3)

名称

getnetconfig, setnetconfig, endnetconfig, getnetconfigent, freenetconfigent, nc_perror, nc_sperrorネットワーク設定データベースエントリを取得する

ライブラリ

Standard C Library (libc, -lc)

書式

#include < netconfig.h>

struct netconfig *
getnetconfig( void *handlep);

void *
setnetconfig( void);

int
endnetconfig( void *handlep);

struct netconfig *
getnetconfigent( const char *netid);

void
freenetconfigent( struct netconfig *netconfigp);

void
nc_perror( const char *msg);

char *
nc_sperror( void);

解説

このページで説明されるライブラリルーチンは、システムネットワーク設定データベース、 /etc/netconfig へのアクセスをアプリケーションに提供します。 getnetconfig() 関数は、 struct netconfig として書式化された netconfig データベースの現在のエントリへのポインタを返します。連続した呼び出しは、netconfig データベースの連続した netconfig エントリを返します。 getnetconfig() 関数は、netconfig ファイル全体を検索するために使用することができます。 getnetconfig() 関数は、ファイルの終りで NULL を返します。 handlep 引数は、 setnetconfig() を通して取得されたハンドルです。

setnetconfig() への呼び出しには、netconfig データベースを“バインド”するか、“巻き戻す”という効果があります。 setnetconfig() 関数は、 getnetconfig() への最初の呼び出しの前に呼び出されなければなりません、そして他の時ならいつでも呼び出されます。 setnetconfig() 関数は、 getnetconfigent() への呼び出しの前に呼び出される必要はありません。 setnetconfig() 関数は、 getnetconfig() によって使用されるユニークなハンドルを返します。

endnetconfig() 関数は、プロセスが完了するとき、再利用のためのリソースを解放するために呼び出されるべきです。 handlep 引数は、 setnetconfig() を通して取得されたハンドルです。しかしながら、プログラマは、 struct netconfig データ構造のために getnetconfig() によって割り付けてられたすべてのメモリを解放する endnetconfig() への最後の呼び出しを承知しているべきです。 endnetconfig() 関数は、 setnetconfig() の前に呼び出されないかもしれません。

getnetconfigent() 関数は、 netid に対応する netconfig 構造体へのポインタを返します。 netid が無効であるなら (すなわち、netconfig データベースのエントリの名前がなければ)、 NULL を返します。

freenetconfigent() 関数は、(以前に getnetconfigent() によって返された) netconfigp によって指された netconfig 構造体を解放します。

nc_perror() 関数は、上記のルーチンのどれかがなぜ失敗したかを示すメッセージを標準エラーに印刷 (表示) します。メッセージは、文字列 msg とコロンが先頭に追加されます。メッセージの終わりに改行文字を追加します。

nc_sperror() 関数は、 nc_perror() と同様ですが、メッセージを標準エラーに送る代わりに、エラーメッセージを含む文字列へのポインタ返します。

また、 nc_perror() と nc_sperror() 関数は、 getnetpath(3) で定義される NETPATH アクセスルーチンと共に使用することができます。

戻り値

setnetconfig() 関数は、 getnetconfig() によって使用されるユニークなハンドルを返します。エラーの場合に setnetconfig() は、 NULL を返し、 nc_perror() または nc_sperror() は、失敗の理由を印刷 (表示) するために使用することができます。

getnetconfig() 関数は、 struct netconfig として書式化された netconfig データベースの現在のエントリへのポインタを返します。 getnetconfig() 関数は、ファイルの終り、または、失敗の場合 NULL を返します。

endnetconfig() 関数は、成功すれば 0 を返し、失敗すれば (例えば、 setnetconfig() が以前に呼び出されなかったなら) -1 を返します。

成功すれば、 getnetconfigent() は、 netid に対応する struct netconfig 構造体へのポインタを返します。そうでなければ、 NULL を返します。

nc_sperror() 関数は、エラーメッセージ文字列を含むバッファへのポインタを返します。このバッファは、それぞれの呼び出しのときに上書きされます。マルチスレッド化されたアプリケーションでは、このバッファは、スレッド特有のデータとして実装されます。

関連ファイル

/etc/netconfig

関連項目

getnetpath(3), netconfig(5)
April 22, 2000 FreeBSD