Go to the first, previous, next, last section, table of contents.

システムファイルからデータを得る関数

以下の * の部分には、各システムファイルに対応して、

/etc/passwd      →    pw
/etc/group       →    gr
/etc/hosts       →    host
/etc/networks    →    net
/etc/protocols   →    proto
/etc/services    →    serv

がそれぞれ入る。

これらのルーチンはシステムライブラリ内の同様の関数と同じ動作をする。 get ルーチンの返り値は以下の通りである。

($name,$passwd,$uid,$gid,
   $quota,$comment,$gcos,$dir,$shell) = getpw...
($name,$passwd,$gid,$members) = getgr...
($name,$aliases,$addrtype,$length,@addrs) = gethost...
($name,$aliases,$addrtype,$net) = getnet...
($name,$aliases,$proto) = getproto...
($name,$aliases,$port,$proto) = getserv...

getgr... が返す値 $members は グループのメンバーのログイン名のリストをスペースで区切ったものである。

gethost... が返す値 @addrs は 対応するシステムライブラリをコールして得られる raw address のリストである。 Internet の domain では、各アドレスは長さ 4 バイトで、 次のようにして unpack できる。

($a,$b,$c,$d) = unpack('C4',$addr[0]);

Go to the first, previous, next, last section, table of contents.