Print this page
        
*** 14,24 ****
   */
  
  /* platform dependent */
  
  #if !defined(linux) && !defined(__NetBSD__) && !defined(__FreeBSD__) && \
!   !defined(__APPLE__) && !defined(__OpenBSD__)
  #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
--- 14,24 ----
   */
  
  /* platform dependent */
  
  #if !defined(linux) && !defined(__NetBSD__) && !defined(__FreeBSD__) && \
!   !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,81 ****
--- 72,111 ----
  # 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