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