- bullseye-backports 4.18.1-1~bpo11+1
- testing 4.18.1-1
- unstable 4.18.1-1
ETHER_ATON(3) | Руководство программиста Linux | ETHER_ATON(3) |
ИМЯ¶
ether_aton, ether_ntoa, ether_ntohost, ether_hostton, ether_line, ether_ntoa_r, ether_aton_r - процедуры для работы с адресами ethernet
СИНТАКСИС¶
#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 */
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 и возвращает ненулевое значение, если он не может быть найден.
Функция ether_line() обрабатывает строку в формате файла /etc/ethers (адрес Ethernet, пробельный символ, имя узла; комментарий начинается с '#') и возвращает пару адрес/имя узла, или ненулевое значение, если строка не может быть обработана. Буфер, на который указывает hostname, должен быть достаточно большим, чтобы вместить, например, строку 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() некорректна.
СМ. ТАКЖЕ¶
ЗАМЕЧАНИЯ¶
Эта страница является частью проекта Linux man-pages версии 5.10. Описание проекта, информацию об ошибках и последнюю версию этой страницы можно найти по адресу https://www.kernel.org/doc/man-pages/.
ПЕРЕВОД¶
Русский перевод этой страницы руководства был сделан Azamat Hackimov <azamat.hackimov@gmail.com>, Yuri Kozlov <yuray@komyakino.ru> и Иван Павлов <pavia00@gmail.com>
Этот перевод является бесплатной документацией; прочитайте Стандартную общественную лицензию GNU версии 3 или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.
Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо на man-pages-ru-talks@lists.sourceforge.net.
15 сентября 2017 г. | GNU |