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>