#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_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 {
u_int8_t ether_addr_octet[6];
}
|
Закладки на сайте Проследить за страницей |
Created 1996-2025 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |