blob: bd9aa982bcd5764d33f2e6f8a554d09e0db2f8f9 [file] [log] [blame]
lh9ed821d2023-04-07 01:36:19 -07001/* Functions for storing Ethernet addresses in ASCII and mapping to hostnames.
2 Copyright (C) 1996, 1997, 1999 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, write to the Free
17 Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
18 02111-1307 USA. */
19
20#ifndef _NETINET_ETHER_H
21#define _NETINET_ETHER_H 1
22
23#include <features.h>
24
25/* Get definition of `struct ether_addr'. */
26#include <netinet/if_ether.h>
27
28#ifdef _LIBC
29#define ETHER_FILE_NAME "/etc/ethers"
30#endif
31
32__BEGIN_DECLS
33
34#if defined __UCLIBC_HAS_SOCKET__ || defined __UCLIBC_HAS_IPV4__ || \
35 defined __UCLIBC_HAS_IPV6__
36/* Convert 48 bit Ethernet ADDRess to ASCII. */
37extern char *ether_ntoa (__const struct ether_addr *__addr) __THROW;
38extern char *ether_ntoa_r (__const struct ether_addr *__addr, char *__buf)
39 __THROW;
40libc_hidden_proto(ether_ntoa_r)
41
42/* Convert ASCII string S to 48 bit Ethernet address. */
43extern struct ether_addr *ether_aton (__const char *__asc) __THROW;
44extern struct ether_addr *ether_aton_r (__const char *__asc,
45 struct ether_addr *__addr) __THROW;
46libc_hidden_proto(ether_aton_r)
47
48/* Map 48 bit Ethernet number ADDR to HOSTNAME. */
49extern int ether_ntohost (char *__hostname, __const struct ether_addr *__addr)
50 __THROW;
51
52/* Map HOSTNAME to 48 bit Ethernet address. */
53extern int ether_hostton (__const char *__hostname, struct ether_addr *__addr)
54 __THROW;
55
56/* Scan LINE and set ADDR and HOSTNAME. */
57extern int ether_line (__const char *__line, struct ether_addr *__addr,
58 char *__hostname) __THROW;
59#endif
60
61__END_DECLS
62
63#endif /* netinet/ether.h */