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

名称

getnetpath, setnetpath, endnetpathNETPATH の構成要素に対応する /etc/netconfig エントリを取得する

ライブラリ

Standard C Library (libc, -lc)

書式

#include < netconfig.h>

struct netconfig *
getnetpath( void *handlep);

void *
setnetpath( void);

int
endnetpath( void *handlep);

解説

このページで説明されたルーチンは、 NETPATH 環境変数 ( environ(7) 参照) によって“フィルタされる”とき、アプリケーションにシステムネットワーク設定データベース、 /etc/netconfig へのアクセスを提供します。また、直接ネットワーク設定データベースにアクセスする他のルーチンについては、 getnetconfig(3) を参照してください。 NETPATH 変数は、コロンで分離されたネットワーク識別子のリストです。

getnetpath() 関数は、最初の有効な NETPATH 構成要素 (コンポーネント) に対応する netconfig データベースエントリへのポインタを返します。 netconfig エントリの形式は、 struct netconfig です。その後の呼び出しごとに、 getnetpath() は、次の有効な NETPATH 構成要素 (コンポーネント) に対応する netconfig エントリへのポインタを返します。従って、 getnetpath() 関数は、 NETPATH 変数に含まれるすべてのネットワークのための netconfig データベースを探すために使用することができます。 NETPATH が使い果たされたとき、 getnetpath() は、 NULL を返します。

setnetpath() への呼び出しは、 NETPATH に“バインド”するか、または“リワインド”します。 setnetpath() 関数は、 getnetpath() への最初の呼び出しの前に呼び出されなければなりません。その (setnetpath) 関数は、他の時なら呼び出されるかもしれません。その関数は、 getnetpath() によって使用されるハンドルを返します。

getnetpath() 関数は、黙って無効の NETPATH 構成要素 (コンポーネント) を無視します。 netconfig データベースに対応するエントリがなければ、 NETPATH 構成要素 (コンポーネント) は、無効です。

NETPATH 変数が設定されていなければ、 getnetpath() は、まるで NETPATH が、それらがリストされている順序で、netconfig データベースで“デフォルト”か“明白な”ネットワークのシーケンスに設定されるかのように振る舞います。

endnetpath() 関数は、処理が完了され、再利用のためのリソースを解放するとき、 NETPATH から“バインドを解く”ために呼び出されます。しかしながら、プログラマは、 endnetpath() が struct netconfig データ構造のために getnetpath() によって割り付けられたすべてのメモリを解放することを承知しているべきです。

戻り値

setnetpath() 関数は、 getnetpath() によって使用されるハンドルを返します。エラーの場合には、 setnetpath() は、 NULL を返します。

endnetpath() 関数は、成功すれば 0 を、失敗すれば (例えば、 setnetpath() が以前に呼ばれなかったなら) -1 を返します nc_perror() または nc_sperror() 関数は、失敗の理由を印刷 (表示) するために使用することができます。 getnetconfig(3) を参照してください。

最初に呼び出すとき、 getnetpath() は、最初の有効な NETPATH 構成要素に対応する netconfig データベースエントリへのポインタを返します。 NETPATH が使い果たされたとき、 getnetpath() は、 NULL を返します。

April 22, 2000 FreeBSD