Группа системных вызовов
Группа системных вызовов:
- getpwnam NAME
- getgrnam NAME
- gethostbyname NAME
- getnamebyname NAME
- getprotobyname NAME
- getpwuid UID
- getgrid GID
- getservbyname NAME, PROTO
- gethostbyaddr ADDR, ADDRTYPE
- getnetbyaddr ADDR, ADDRTYPE
- getprotobynumber NUMBER
- getservbyport PORT, PROTO
- getpwent
- gethostent
- getnetent
- getprotoent
- getservent
- setpwent
- setgrent
- sethostent STAYOPEN
- setnetent STAYOPEN
- setprotoent STAYOPEN
- setservent STAYOPEN
- endpwent
- endgrent
- endhostent
- endnetent
- endprotoent
- endservent
Все эти функции аналогичны одноименным системным вызовам. В списковом контексте возвращают следующие списки:
($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*В скалярном контексте возвращается имя или что-то другое, в зависимости от типа функции. Элемент $members в вызове getgr содержит разделенные пробелом имена членов группы. @addrs содержит IP адреса компьютеров в сети Интернет в упакованном виде. Для распаковки применяйте: ($a, $b, $c, $d) = unpack('C4',$addr[0]);