Annotation of embedaddon/ntp/ntpdc/ntpdc.h, revision 1.1
1.1 ! misho 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: #define MOREARGS 10
! 15:
! 16: /*
! 17: * Flags for forming descriptors.
! 18: */
! 19: #define OPT 0x80 /* this argument is optional, or'd with type */
! 20:
! 21: #define NO 0x0
! 22: #define NTP_STR 0x1 /* string argument */
! 23: #define NTP_UINT 0x2 /* unsigned integer */
! 24: #define NTP_INT 0x3 /* signed integer */
! 25: #define NTP_ADD 0x4 /* IP network address */
! 26: #define IP_VERSION 0x5 /* IP version */
! 27:
! 28: /*
! 29: * Arguments are returned in a struct - no
! 30: * union space saving is attempted.
! 31: */
! 32: typedef struct {
! 33: u_char type;
! 34: char *string;
! 35: long ival;
! 36: u_long uval;
! 37: sockaddr_u netnum;
! 38: } arg_v;
! 39:
! 40: /*
! 41: * Structure for passing parsed command line
! 42: */
! 43: struct parse {
! 44: char *keyword;
! 45: arg_v argval[MAXARGS + MOREARGS];
! 46: int nargs;
! 47: };
! 48:
! 49: /*
! 50: * ntpdc includes a command parser which could charitably be called
! 51: * crude. The following structure is used to define the command
! 52: * syntax.
! 53: */
! 54: struct xcmd {
! 55: const char *keyword; /* command key word */
! 56: void (*handler) (struct parse *, FILE *); /* command handler */
! 57: u_char arg[MAXARGS]; /* descriptors for arguments */
! 58: const char *desc[MAXARGS]; /* descriptions for arguments */
! 59: const char *comment;
! 60: };
! 61:
! 62: extern int impl_ver;
! 63: extern int showhostnames;
! 64: extern int s_port;
! 65:
! 66: extern int doquery (int, int, int, int, int, char *, int *, int *, char **, int, int);
! 67: extern char * nntohost (sockaddr_u *);
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>