2 * ntpsim.h - Prototypes for ntpsim
10 #include <sys/socket.h>
11 #include <arpa/inet.h>
12 #include "ntp_syslog.h"
15 #include "ntp_select.h"
16 #include "ntp_malloc.h"
17 #include "ntp_refclock.h"
20 #include "ntp_stdlib.h"
22 #define PI 3.1415926535
28 BEEP, CLOCK, TIMER, PACKET
35 struct recvbuf evnt_buf;
37 #define ntp_pkt buffer.evnt_pkt
38 #define rcv_buf buffer.evnt_buf
48 double time; /* simulation time */
49 double sim_time; /* end simulation time */
50 double ntp_time; /* client disciplined time */
51 double adj; /* remaining time correction */
52 double slew; /* correction slew rate */
54 double clk_time; /* server time */
55 double ferr; /* frequency errort */
56 double fnse; /* random walk noise */
57 double ndly; /* network delay */
58 double snse; /* phase noise */
59 double pdly; /* processing delay */
60 double bdly; /* beep interval */
62 double last_time; /* last clock read time */
63 Queue events; /* Node Event Queue */
64 struct recvbuf *rbuflist; /* Node Receive Buffer */
70 int ntpsim P((int argc, char *argv[]));
71 Event event P((double, funcTkn));
72 Queue queue P((Event, Queue ));
74 void push P((Event, Queue *));
75 Event pop P((Queue *));
76 void ndbeep P((Node *, Event));
77 void ndeclk P((Node *, Event));
78 void ntptmr P((Node *, Event));
79 void netpkt P((Node *, Event));
80 int srvr_rply P((Node *, struct sockaddr_storage *,
81 struct interface *, struct pkt *));
82 double gauss P((double, double));
83 double poisson P((double, double));
84 int node_clock P((Node *, double));
85 void abortsim P((char *));