Arthur de Jong

Open Source / Free Software developer

summaryrefslogtreecommitdiffstats
path: root/compat/ether.h
diff options
context:
space:
mode:
authorArthur de Jong <arthur@arthurdejong.org>2008-02-04 23:38:08 +0100
committerArthur de Jong <arthur@arthurdejong.org>2008-02-04 23:38:08 +0100
commitf99ddd549114edf6176309ccf22c2d5b6a3ae29d (patch)
treebd396f02cfc94b3c2664cec57d49713d6e6ed911 /compat/ether.h
parent72c25e69e9ef8382423f4aad20d90d7ac0d673ae (diff)
provide replacements for ether_aton_r() and ether_ntoa_r() for platforms that don't have them
git-svn-id: http://arthurdejong.org/svn/nss-pam-ldapd/nss-ldapd@624 ef36b2f9-881f-0410-afb5-c4e39611909c
Diffstat (limited to 'compat/ether.h')
-rw-r--r--compat/ether.h49
1 files changed, 49 insertions, 0 deletions
diff --git a/compat/ether.h b/compat/ether.h
new file mode 100644
index 0000000..fc4a2ff
--- /dev/null
+++ b/compat/ether.h
@@ -0,0 +1,49 @@
+/*
+ ether.h - ethernet definitions for systems lacking those
+
+ Copyright (C) 2008 Arthur de Jong
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ 02110-1301 USA
+*/
+
+#ifndef _COMPAT_ETHER_H
+#define _COMPAT_ETHER_H 1
+
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <net/if.h>
+#include <netinet/in.h>
+#include <netinet/if_ether.h>
+#ifdef HAVE_NETINET_ETHER_H
+#include <netinet/ether.h>
+#endif
+
+#ifndef HAVE_STRUCT_ETHER_ADDR
+struct ether_addr {
+ uint8_t ether_addr_octet[6];
+};
+#endif /* not HAVE_STRUCT_ETHER_ADDR */
+
+#ifndef HAVE_ENTHER_NTOA_R
+char *ether_ntoa_r(const struct ether_addr *addr,char *buf);
+#endif /* not HAVE_ENTHER_NTOA_R */
+
+#ifndef HAVE_ENTHER_NTOA_R
+struct ether_addr *ether_aton_r(const char *asc,struct ether_addr *addr);
+#endif /* not HAVE_ENTHER_NTOA_R */
+
+#endif /* not _COMPAT_ETHER_H */
+