Annotation of embedaddon/ntp/ntpq/ntpq.h, revision 1.1

1.1     ! misho       1: /*
        !             2:  * ntpq.h - definitions of interest to ntpq
        !             3:  */
        !             4: #include "ntp_fp.h"
        !             5: #include "ntp.h"
        !             6: #include "ntp_control.h"
        !             7: #include "ntp_string.h"
        !             8: #include "ntp_malloc.h"
        !             9: #include "lib_strbuf.h"
        !            10: 
        !            11: /*
        !            12:  * Maximum number of arguments
        !            13:  */
        !            14: #define        MAXARGS 4
        !            15: 
        !            16: /*
        !            17:  * Flags for forming descriptors.
        !            18:  */
        !            19: /*
        !            20:  * Flags for forming descriptors.
        !            21:  */
        !            22: #define        OPT             0x80    /* this argument is optional, or'd with type */
        !            23: 
        !            24: #define        NO              0x0
        !            25: #define        NTP_STR         0x1     /* string argument */
        !            26: #define        NTP_UINT        0x2     /* unsigned integer */
        !            27: #define        NTP_INT         0x3     /* signed integer */
        !            28: #define        NTP_ADD         0x4     /* IP network address */
        !            29: #define IP_VERSION     0x5     /* IP version */
        !            30: 
        !            31: /*
        !            32:  * Arguments are returned in a union
        !            33:  */
        !            34: typedef union {
        !            35:        char *string;
        !            36:        long ival;
        !            37:        u_long uval;
        !            38:        sockaddr_u netnum;
        !            39: } arg_v;
        !            40: 
        !            41: /*
        !            42:  * Structure for passing parsed command line
        !            43:  */
        !            44: struct parse {
        !            45:        const char *keyword;
        !            46:        arg_v argval[MAXARGS];
        !            47:        int nargs;
        !            48: };
        !            49: 
        !            50: /*
        !            51:  * ntpdc includes a command parser which could charitably be called
        !            52:  * crude.  The following structure is used to define the command
        !            53:  * syntax.
        !            54:  */
        !            55: struct xcmd {
        !            56:   const char *keyword;         /* command key word */
        !            57:        void (*handler) (struct parse *, FILE *);       /* command handler */
        !            58:        u_char arg[MAXARGS];    /* descriptors for arguments */
        !            59:   const char *desc[MAXARGS];   /* descriptions for arguments */
        !            60:   const char *comment;
        !            61: };
        !            62: 
        !            63: /*
        !            64:  * Structure to hold association data
        !            65:  */
        !            66: struct association {
        !            67:        associd_t assid;
        !            68:        u_short status;
        !            69: };
        !            70: 
        !            71: #define        MAXASSOC        1024
        !            72: 
        !            73: /*
        !            74:  * Structure for translation tables between text format
        !            75:  * variable indices and text format.
        !            76:  */
        !            77: struct ctl_var {
        !            78:        u_short code;
        !            79:        u_short fmt;
        !            80:        const char *text;
        !            81: };
        !            82: 
        !            83: extern int     interactive;    /* are we prompting? */
        !            84: extern int     old_rv;         /* use old rv behavior? --old-rv */
        !            85: 
        !            86: extern void    asciize         (int, char *, FILE *);
        !            87: extern int     getnetnum       (const char *, sockaddr_u *, char *, int);
        !            88: extern void    sortassoc       (void);
        !            89: extern void    show_error_msg  (int, associd_t);
        !            90: extern int     doquery         (int, associd_t, int, int, char *,
        !            91:                                 u_short *, int *, const char **);
        !            92: extern int     doqueryex       (int, associd_t, int, int, char *,
        !            93:                                 u_short *, int *, const char **, int);
        !            94: extern char *  nntohost        (sockaddr_u *);
        !            95: extern char *  nntohost_col    (sockaddr_u *, size_t, int);
        !            96: extern int     decodets        (char *, l_fp *);
        !            97: extern int     decodeuint      (char *, u_long *);
        !            98: extern int     nextvar         (int *, const char **, char **, char **);
        !            99: extern int     decodetime      (char *, l_fp *);
        !           100: extern void    printvars       (int, const char *, int, int, int, FILE *);
        !           101: extern int     decodeint       (char *, long *);
        !           102: extern int     findvar         (char *, struct ctl_var *, int code);
        !           103: extern void    makeascii       (int, const char *, FILE *);
        !           104: extern char *  trunc_left      (const char *, size_t);
        !           105: extern char *  trunc_right     (const char *, size_t);

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>