Watt-32 tcp/ip  2.2 dev-rel.10
timed.h
Go to the documentation of this file.
1 
5 /* $NetBSD: timed.h,v 1.5 1996/04/09 20:40:32 cgd Exp $ */
6 
7 /*
8  * Copyright (c) 1983 Regents of the University of California.
9  * All rights reserved.
10  *
11  * Redistribution and use in source and binary forms, with or without
12  * modification, are permitted provided that the following conditions
13  * are met:
14  * 1. Redistributions of source code must retain the above copyright
15  * notice, this list of conditions and the following disclaimer.
16  * 2. Redistributions in binary form must reproduce the above copyright
17  * notice, this list of conditions and the following disclaimer in the
18  * documentation and/or other materials provided with the distribution.
19  * 3. All advertising materials mentioning features or use of this software
20  * must display the following acknowledgement:
21  * This product includes software developed by the University of
22  * California, Berkeley and its contributors.
23  * 4. Neither the name of the University nor the names of its contributors
24  * may be used to endorse or promote products derived from this software
25  * without specific prior written permission.
26  *
27  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
28  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
29  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
30  * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
31  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
32  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
33  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
34  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
35  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
36  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
37  * SUCH DAMAGE.
38  *
39  * @(#)timed.h 1.10 (Berkeley) 4/3/91
40  */
41 
42 #ifndef __PROTOCOL_TIMED_H
43 #define __PROTOCOL_TIMED_H
44 
45 /*
46  * Time Synchronization Protocol
47  */
48 
49 #define TSPVERSION 1
50 #define ANYADDR NULL
51 
52 #include <sys/pack_on.h>
53 
54 struct tsp {
55  u_int8_t tsp_type;
56  u_int8_t tsp_vers;
57  u_int16_t tsp_seq;
58  union {
59  struct {
60  int32_t tv_sec;
61  int32_t tv_usec;
62  } tspu_time;
63  char tspu_hopcnt;
64  } tsp_u;
65  char tsp_name[MAXHOSTNAMELEN];
66 };
67 
68 #include <sys/pack_off.h>
69 
70 #define tsp_time tsp_u.tspu_time
71 #define tsp_hopcnt tsp_u.tspu_hopcnt
72 
73 /*
74  * Command types.
75  */
76 #define TSP_ANY 0 /* match any types */
77 #define TSP_ADJTIME 1 /* send adjtime */
78 #define TSP_ACK 2 /* generic acknowledgement */
79 #define TSP_MASTERREQ 3 /* ask for master's name */
80 #define TSP_MASTERACK 4 /* acknowledge master request */
81 #define TSP_SETTIME 5 /* send network time */
82 #define TSP_MASTERUP 6 /* inform slaves that master is up */
83 #define TSP_SLAVEUP 7 /* slave is up but not polled */
84 #define TSP_ELECTION 8 /* advance candidature for master */
85 #define TSP_ACCEPT 9 /* support candidature of master */
86 #define TSP_REFUSE 10 /* reject candidature of master */
87 #define TSP_CONFLICT 11 /* two or more masters present */
88 #define TSP_RESOLVE 12 /* masters' conflict resolution */
89 #define TSP_QUIT 13 /* reject candidature if master is up */
90 #define TSP_DATE 14 /* reset the time (date command) */
91 #define TSP_DATEREQ 15 /* remote request to reset the time */
92 #define TSP_DATEACK 16 /* acknowledge time setting */
93 #define TSP_TRACEON 17 /* turn tracing on */
94 #define TSP_TRACEOFF 18 /* turn tracing off */
95 #define TSP_MSITE 19 /* find out master's site */
96 #define TSP_MSITEREQ 20 /* remote master's site request */
97 #define TSP_TEST 21 /* for testing election algo */
98 #define TSP_SETDATE 22 /* New from date command */
99 #define TSP_SETDATEREQ 23 /* New remote for above */
100 #define TSP_LOOP 24 /* loop detection packet */
101 
102 #define TSPTYPENUMBER 25
103 
104 #ifdef TSPTYPES
105 char *tsptype[TSPTYPENUMBER] = {
106  "ANY", "ADJTIME", "ACK", "MASTERREQ", "MASTERACK", "SETTIME", "MASTERUP",
107  "SLAVEUP", "ELECTION", "ACCEPT", "REFUSE", "CONFLICT", "RESOLVE", "QUIT",
108  "DATE", "DATEREQ", "DATEACK", "TRACEON", "TRACEOFF", "MSITE", "MSITEREQ",
109  "TEST", "SETDATE", "SETDATEREQ", "LOOP"
110  };
111 #endif
112 
113 #endif
Definition: timed.h:54