Annotation of embedaddon/ntp/ntpdc/ntpdc.h, revision 1.1.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>