diff options
Diffstat (limited to 'ntpq/ntpq.h')
-rw-r--r-- | ntpq/ntpq.h | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/ntpq/ntpq.h b/ntpq/ntpq.h new file mode 100644 index 000000000000..1bb102847f57 --- /dev/null +++ b/ntpq/ntpq.h @@ -0,0 +1,90 @@ +/* + * ntpq.h - definitions of interest to ntpq + */ +#include "ntp_fp.h" +#include "ntp.h" +#include "ntp_control.h" +#include "ntp_string.h" +#include "ntp_malloc.h" + +/* + * Maximum number of arguments + */ +#define MAXARGS 4 + +/* + * Flags for forming descriptors. + */ +#define OPT 0x80 /* this argument is optional, or'd with type */ + +#define NO 0x0 +#define STR 0x1 /* string argument */ +#define UINT 0x2 /* unsigned integer */ +#define INT 0x3 /* signed integer */ +#define ADD 0x4 /* IP network address */ +#define IP_VERSION 0x5 /* IP address family */ + +/* + * Arguments are returned in a union + */ +typedef union { + char *string; + long ival; + u_long uval; + struct sockaddr_storage netnum; +} arg_v; + +/* + * Structure for passing parsed command line + */ +struct parse { + const char *keyword; + arg_v argval[MAXARGS]; + int nargs; +}; + +/* + * ntpdc includes a command parser which could charitably be called + * crude. The following structure is used to define the command + * syntax. + */ +struct xcmd { + const char *keyword; /* command key word */ + void (*handler) P((struct parse *, FILE *)); /* command handler */ + u_char arg[MAXARGS]; /* descriptors for arguments */ + const char *desc[MAXARGS]; /* descriptions for arguments */ + const char *comment; +}; + +/* + * Structure to hold association data + */ +struct association { + u_short assid; + u_short status; +}; + +#define MAXASSOC 1024 + +/* + * Structure for translation tables between text format + * variable indices and text format. + */ +struct ctl_var { + u_short code; + u_short fmt; + const char *text; +}; + +extern void asciize P((int, char *, FILE *)); +extern int getnetnum P((const char *, struct sockaddr_storage *, char *, int)); +extern void sortassoc P((void)); +extern int doquery P((int, int, int, int, char *, u_short *, int *, char **)); +extern char * nntohost P((struct sockaddr_storage *)); +extern int decodets P((char *, l_fp *)); +extern int decodeuint P((char *, u_long *)); +extern int nextvar P((int *, char **, char **, char **)); +extern int decodetime P((char *, l_fp *)); +extern void printvars P((int, char *, int, int, FILE *)); +extern int decodeint P((char *, long *)); +extern int findvar P((char *, struct ctl_var *)); |