ether_aton(3)

НАИМЕНОВАНИЕ
ether_aton, ether_ntoa, ether_ntohost, ether_hostton, ether_line, ether_ntoa_r, ether_aton_r - процедуры для работы с адресами ethernet

БИБЛИОТЕКА
Стандартная библиотека языка C (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 <azamat.hackimov@gmail.com>, Yuri Kozlov <yuray@komyakino.ru> и Иван Павлов <pavia00@gmail.com>

Этот перевод является свободной программной документацией; он распространяется на условиях общедоступной лицензии GNU (GNU General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html версии 3 или более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.

Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом разработчику(ам) по его(их) адресу(ам) электронной почты или по адресу списка рассылки русских переводчиков (debian-l10n-russian@lists.debian.org).