Print this page
    
    
      
        | Split | 
	Close | 
      
      | Expand all | 
      | Collapse all | 
    
    
          --- old/src/dep/constants_dep.h
          +++ new/src/dep/constants_dep.h
   1    1  
   2    2  /* constants_dep.h */
   3    3  
   4    4  #ifndef CONSTANTS_DEP_H
   5    5  #define CONSTANTS_DEP_H
   6    6  
   7    7  /**
   8    8  *\file
  
    | 
      ↓ open down ↓ | 
    8 lines elided | 
    
      ↑ open up ↑ | 
  
   9    9  * \brief Plateform-dependent constants definition
  10   10  *
  11   11  * This header defines all includes and constants which are plateform-dependent
  12   12  *
  13   13  * ptpdv2 is only implemented for linux, NetBSD and FreeBSD
  14   14   */
  15   15  
  16   16  /* platform dependent */
  17   17  
  18   18  #if !defined(linux) && !defined(__NetBSD__) && !defined(__FreeBSD__) && \
  19      -  !defined(__APPLE__) && !defined(__OpenBSD__)
       19 +  !defined(__APPLE__) && !defined(__OpenBSD__) && !defined(__sun)
  20   20  #error PTPD hasn't been ported to this OS - should be possible \
  21   21  if it's POSIX compatible, if you succeed, report it to ptpd-devel@sourceforge.net
  22   22  #endif
  23   23  
  24   24  #ifdef  linux
  25   25  #include<netinet/in.h>
  26   26  #include<net/if.h>
  27   27  #include<net/if_arp.h>
  28   28  #include <ifaddrs.h>
  29   29  #define IFACE_NAME_LENGTH         IF_NAMESIZE
  30   30  #define NET_ADDRESS_LENGTH        INET_ADDRSTRLEN
  31   31  
  32   32  #define IFCONF_LENGTH 10
  33   33  
  34   34  #define octet ether_addr_octet
  35   35  #include<endian.h>
  36   36  #if __BYTE_ORDER == __LITTLE_ENDIAN
  37   37  #define PTPD_LSBF
  38   38  #elif __BYTE_ORDER == __BIG_ENDIAN
  39   39  #define PTPD_MSBF
  40   40  #endif
  41   41  #endif /* linux */
  42   42  
  43   43  
  44   44  
  45   45  #if defined(__NetBSD__) || defined(__FreeBSD__) || defined(__APPLE__) || defined(__OpenBSD__)
  46   46  # include <sys/types.h>
  47   47  # include <sys/socket.h>
  48   48  # include <netinet/in.h>
  49   49  # include <net/if.h>
  50   50  # include <net/if_dl.h>
  51   51  # include <net/if_types.h>
  52   52  #ifdef HAVE_NET_IF_ETHER_H
  53   53  #  include <net/if_ether.h>
  54   54  #endif
  55   55  #ifdef HAVE_SYS_UIO_H
  56   56  #  include <sys/uio.h>
  57   57  #endif
  58   58  #ifdef HAVE_NET_ETHERNET_H
  59   59  #  include <net/ethernet.h>
  60   60  #endif
  61   61  #  include <ifaddrs.h>
  62   62  # define IFACE_NAME_LENGTH         IF_NAMESIZE
  63   63  # define NET_ADDRESS_LENGTH        INET_ADDRSTRLEN
  64   64  
  65   65  # define IFCONF_LENGTH 10
  66   66  
  
    | 
      ↓ open down ↓ | 
    37 lines elided | 
    
      ↑ open up ↑ | 
  
  67   67  # define adjtimex ntp_adjtime
  68   68  
  69   69  # include <machine/endian.h>
  70   70  # if BYTE_ORDER == LITTLE_ENDIAN
  71   71  #   define PTPD_LSBF
  72   72  # elif BYTE_ORDER == BIG_ENDIAN
  73   73  #   define PTPD_MSBF
  74   74  # endif
  75   75  #endif
  76   76  
       77 +#ifdef __sun
       78 +/* Solarish (Illumos & Oracle Solaris) definitions. */
       79 +
       80 +#include <sys/types.h>
       81 +#include <sys/socket.h>
       82 +#include <sys/sockio.h>
       83 +#include <netinet/in.h>
       84 +#include <net/if.h>
       85 +#include <net/if_dl.h>
       86 +#include <net/if_types.h>
       87 +#include <sys/ethernet.h>
       88 +#include <sys/uio.h>
       89 +#include <ifaddrs.h>
       90 +
       91 +#define ETHER_ADDR_LEN ETHERADDRL
       92 +#define IFACE_NAME_LENGTH         IF_NAMESIZE
       93 +#define NET_ADDRESS_LENGTH        INET_ADDRSTRLEN
       94 +#define ETHER_HDR_LEN   sizeof (struct ether_header)
       95 +
       96 +#define adjtimex ntp_adjtime
       97 +
       98 +#include <sys/isa_defs.h>
       99 +#ifdef _LITTLE_ENDIAN
      100 +#define PTPD_LSBF
      101 +#elif defined(_BIG_ENDIAN)
      102 +#define PTPD_MSBF
      103 +#endif
      104 +
      105 +#endif /* __sun */
      106 +
  77  107  #define CLOCK_IDENTITY_LENGTH 8
  78  108  #define ADJ_FREQ_MAX 500000
  79  109  
  80  110  /* UDP/IPv4 dependent */
  81  111  #ifndef INADDR_LOOPBACK
  82  112  #define INADDR_LOOPBACK 0x7f000001UL
  83  113  #endif
  84  114  
  85  115  #define SUBDOMAIN_ADDRESS_LENGTH  4
  86  116  #define PORT_ADDRESS_LENGTH       2
  87  117  #define PTP_UUID_LENGTH           6
  88  118  #define CLOCK_IDENTITY_LENGTH     8
  89  119  #define FLAG_FIELD_LENGTH         2
  90  120  
  91  121  #define PACKET_SIZE  300 //ptpdv1 value kept because of use of TLV...
  92  122  #define PACKET_BEGIN_UDP (ETHER_HDR_LEN + sizeof(struct ip) + \
  93  123              sizeof(struct udphdr))
  94  124  #define PACKET_BEGIN_ETHER (ETHER_HDR_LEN)
  95  125  
  96  126  #define PTP_EVENT_PORT    319
  97  127  #define PTP_GENERAL_PORT  320
  98  128  
  99  129  #define DEFAULT_PTP_DOMAIN_ADDRESS     "224.0.1.129"
 100  130  #define PEER_PTP_DOMAIN_ADDRESS        "224.0.0.107"
 101  131  
 102  132  /* 802.3 Support */
 103  133  
 104  134  #define PTP_ETHER_DST "01:1b:19:00:00:00"
 105  135  #define PTP_ETHER_TYPE 0x88f7
 106  136  #define PTP_ETHER_PEER "01:80:c2:00:00:0E"
 107  137  
 108  138  /* dummy clock driver designation in preparation for generic clock driver API */
 109  139  #define DEFAULT_CLOCKDRIVER "kernelclock"
 110  140  /* default lock file location and mode */
 111  141  #define DEFAULT_LOCKMODE F_WRLCK
 112  142  #define DEFAULT_LOCKDIR "/var/run"
 113  143  #define DEFAULT_LOCKFILE_NAME PTPD_PROGNAME".lock"
 114  144  //define DEFAULT_LOCKFILE_PATH  DEFAULT_LOCKDIR"/"DEFAULT_LOCKFILE_NAME
 115  145  #define DEFAULT_FILE_PERMS (S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH)
 116  146  
 117  147  /* default drift file location */
 118  148  #define DEFAULT_DRIFTFILE "/etc/"PTPD_PROGNAME"_"DEFAULT_CLOCKDRIVER".drift"
 119  149  
 120  150  /* default status file location */
 121  151  #define DEFAULT_STATUSFILE DEFAULT_LOCKDIR"/"PTPD_PROGNAME".status"
 122  152  
 123  153  /* Highest log level (default) catches all */
 124  154  #define LOG_ALL LOG_DEBUGV
 125  155  
 126  156  /* drift recovery metod for use with -F */
 127  157  enum {
 128  158          DRIFT_RESET = 0,
 129  159          DRIFT_KERNEL,
 130  160          DRIFT_FILE
 131  161  };
 132  162  /* IP transmission mode */
 133  163  enum {
 134  164          IPMODE_MULTICAST = 0,
 135  165          IPMODE_UNICAST,
 136  166          IPMODE_HYBRID,
 137  167  #if 0
 138  168          IPMODE_UNICAST_SIGNALING
 139  169  #endif
 140  170  };
 141  171  
 142  172  /* servo dT calculation mode */
 143  173  enum {
 144  174          DT_NONE,
 145  175          DT_CONSTANT,
 146  176          DT_MEASURED
 147  177  };
 148  178  
 149  179  #define MM_STARTING_BOUNDARY_HOPS  0x7fff
 150  180  
 151  181  /* others */
 152  182  
 153  183  /* bigger screen size constants */
 154  184  #define SCREEN_BUFSZ  228
 155  185  #define SCREEN_MAXSZ  180
 156  186  
 157  187  /* default size for string buffers */
 158  188  #define BUF_SIZE  1000
 159  189  
 160  190  #define NANOSECONDS_MAX 999999999
 161  191  
 162  192  // limit operator messages to once every X seconds
 163  193  #define OPERATOR_MESSAGES_INTERVAL 300.0
 164  194  
 165  195  #define MAXTIMESTR 32
 166  196  
 167  197  #endif /*CONSTANTS_DEP_H_*/
  
    | 
      ↓ open down ↓ | 
    81 lines elided | 
    
      ↑ open up ↑ | 
  
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX