Print this page
@@ -14,11 +14,11 @@
*/
/* platform dependent */
#if !defined(linux) && !defined(__NetBSD__) && !defined(__FreeBSD__) && \
- !defined(__APPLE__) && !defined(__OpenBSD__)
+ !defined(__APPLE__) && !defined(__OpenBSD__) && !defined(__sun)
#error PTPD hasn't been ported to this OS - should be possible \
if it's POSIX compatible, if you succeed, report it to ptpd-devel@sourceforge.net
#endif
#ifdef linux
@@ -72,10 +72,40 @@
# elif BYTE_ORDER == BIG_ENDIAN
# define PTPD_MSBF
# endif
#endif
+#ifdef __sun
+/* Solarish (Illumos & Oracle Solaris) definitions. */
+
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <sys/sockio.h>
+#include <netinet/in.h>
+#include <net/if.h>
+#include <net/if_dl.h>
+#include <net/if_types.h>
+#include <sys/ethernet.h>
+#include <sys/uio.h>
+#include <ifaddrs.h>
+
+#define ETHER_ADDR_LEN ETHERADDRL
+#define IFACE_NAME_LENGTH IF_NAMESIZE
+#define NET_ADDRESS_LENGTH INET_ADDRSTRLEN
+#define ETHER_HDR_LEN sizeof (struct ether_header)
+
+#define adjtimex ntp_adjtime
+
+#include <sys/isa_defs.h>
+#ifdef _LITTLE_ENDIAN
+#define PTPD_LSBF
+#elif defined(_BIG_ENDIAN)
+#define PTPD_MSBF
+#endif
+
+#endif /* __sun */
+
#define CLOCK_IDENTITY_LENGTH 8
#define ADJ_FREQ_MAX 500000
/* UDP/IPv4 dependent */
#ifndef INADDR_LOOPBACK