Deleted Added
full compact
1/*
2 * ntpdc.h - definitions of interest to ntpdc
3 */
4#include "ntp_fp.h"
5#include "ntp.h"
6#include "ntp_request.h"
7#include "ntp_string.h"
8#include "ntp_malloc.h"
9
10/*
11 * Maximum number of arguments
12 */
13#define MAXARGS 4
14
15/*
16 * Flags for forming descriptors.
17 */
18#define OPT 0x80 /* this argument is optional, or'd with type */
19
20#define NO 0x0
21#define NTP_STR 0x1 /* string argument */
22#define UINT 0x2 /* unsigned integer */
23#define INT 0x3 /* signed integer */
24#define ADD 0x4 /* IP network address */
25
26/*
27 * Arguments are returned in a union
28 */
29typedef union {
30 char *string;
31 long ival;
32 u_long uval;
33 u_int32 netnum;
34} arg_v;
35
36/*
37 * Structure for passing parsed command line
38 */
39struct parse {
40 char *keyword;
41 arg_v argval[MAXARGS];
42 int nargs;
43};
44
45/*
46 * ntpdc includes a command parser which could charitably be called
47 * crude. The following structure is used to define the command
48 * syntax.
49 */
50struct xcmd {
51 const char *keyword; /* command key word */
52 void (*handler) P((struct parse *, FILE *)); /* command handler */
53 u_char arg[MAXARGS]; /* descriptors for arguments */
54 const char *desc[MAXARGS]; /* descriptions for arguments */
55 const char *comment;
56};
57
58extern int doquery P((int, int, int, int, int, char *, int *, int *, char **, int));
59extern char * nntohost P((u_int32));