ether_aton, ether_ntoa, ether_ntohost, ether_hostton, ether_line, ether_ntoa_r,
ether_aton_r -
процедуры
для работы
с адресами
ethernet
Standard C library (
libc,
-lc)
#include <netinet/ether.h>
char *ether_ntoa(const struct ether_addr *addr);
struct ether_addr *ether_aton(const char *asc);
int ether_ntohost(char *hostname, const struct ether_addr *addr);
int ether_hostton(const char *hostname, struct ether_addr *addr);
int ether_line(const char *line, struct ether_addr *addr,
char *hostname);
/* GNU extensions */
char *ether_ntoa_r(const struct ether_addr *addr, char *buf);
struct ether_addr *ether_aton_r(const char *asc,
struct ether_addr *addr);
Функция
ether_aton()
преобразует
48-битный
адрес узла
Ethernet
asc из
стандартной
записи в
виде
шестнадцатеричных-символов-и-двоеточий
в двоичный
код с
сетевым
порядком
расположения
байтов и
возвращает
указатель
на него в
статически
выделенном
буфере,
который
могут
изменить
любые
последующие
вызовы.
Функция
ether_aton()
возвращает
NULL, если
адрес
некорректен.
Функция
ether_ntoa()
преобразует
адрес узла
Ethernet
addr,
заданный
значением
с сетевым
порядком
байтов, в
строку в
стандартной
форме
записи в
виде
шестнадцатеричных-символов-и-двоеточий.
Строка
возвращается
в
статически
выделяемом
буфере,
который
перезаписывается
при
последующих
вызовах.
Функция
ether_ntohost()
для
заданного
адреса Ethernet
ищет
соответствующее
имя узла в
файле
/etc/ethers и
возвращает
ненулевое
значение,
если оно не
может быть
найдено.
Функция
ether_hostton()
для
заданного
имени узла
ищет
соответствующий
адрес Ethernet в
файле
/etc/ethers и
возвращает
ненулевое
значение,
если он не
может быть
найден.
The
ether_line() function parses a line in
/etc/ethers format
(ethernet address followed by whitespace followed by hostname; '#' introduces
a comment) and returns an address and hostname pair, or nonzero if it cannot
be parsed. The buffer pointed to by
hostname must be sufficiently long,
for example, have the same length as
line.
Функции
ether_ntoa_r()
и
ether_aton_r()
являются
безопасными
для
использования
в нитях
аналогами
ether_ntoa() и
ether_aton()
соответственно,
и не
используют
статических
буферов.
Структура
ether_addr
определена
в
<net/ethernet.h>:
struct ether_addr {
uint8_t ether_addr_octet[6];
}
Описание
терминов
данного
раздела
смотрите в
attributes(7).
Интерфейс |
Атрибут |
Значение |
ether_aton(), ether_ntoa() |
Безвредность
в нитях |
MT-Unsafe |
ether_ntohost(), ether_hostton(), ether_line(),
ether_ntoa_r(), ether_aton_r() |
Безвредность
в нитях |
MT-Safe |
4.3BSD, SunOS.
В glibc 2.2.5 и старее
реализация
ether_line()
некорректна.
ethers(5)
Русский
перевод
этой
страницы
руководства
был сделан
Azamat Hackimov <
[email protected]>, Yuri Kozlov
<
[email protected]> и Иван
Павлов <
[email protected]>
Этот
перевод
является
бесплатной
документацией;
прочитайте
Стандартную
общественную
лицензию GNU
версии 3
или более
позднюю,
чтобы
узнать об
условиях
авторского
права. Мы не
несем
НИКАКОЙ
ОТВЕТСТВЕННОСТИ.
Если вы
обнаружите
ошибки в
переводе
этой
страницы
руководства,
пожалуйста,
отправьте
электронное
письмо на
[email protected]