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

1.1     ! misho       1: /*****************************************************************************
        !             2:  *
        !             3:  *  libntpq.h
        !             4:  *
        !             5:  *  This is the wrapper library for ntpq, the NTP query utility. 
        !             6:  *  This library reuses the sourcecode from ntpq and exports a number
        !             7:  *  of useful functions in a library that can be linked against applications
        !             8:  *  that need to query the status of a running ntpd. The whole 
        !             9:  *  communcation is based on mode 6 packets.
        !            10:  *
        !            11:  * This header file can be used in applications that want to link against 
        !            12:  * libntpq.
        !            13:  *
        !            14:  ****************************************************************************/
        !            15: 
        !            16: #include "ntp_net.h"
        !            17: 
        !            18: /* general purpose buffer size */
        !            19: #define NTPQ_BUFLEN 2048
        !            20: 
        !            21: /* max. number of associations */
        !            22: #ifndef MAXASSOC
        !            23: #define MAXASSOC    1024
        !            24: #endif
        !            25: 
        !            26: /* general purpose max array size definition */
        !            27: #ifndef MAXLIST
        !            28: #define MAXLIST 64
        !            29: #endif
        !            30: 
        !            31: #ifndef LENHOSTNAME
        !            32: #define LENHOSTNAME 256     /* host name is max. 256 characters long */
        !            33: #endif
        !            34: 
        !            35: /* NTP Status codes */
        !            36: #define NTP_STATUS_INVALID      0
        !            37: #define NTP_STATUS_FALSETICKER  1
        !            38: #define NTP_STATUS_EXCESS       2
        !            39: #define NTP_STATUS_OUTLYER      3
        !            40: #define NTP_STATUS_CANDIDATE    4
        !            41: #define NTP_STATUS_SELECTED     5
        !            42: #define NTP_STATUS_SYSPEER      6
        !            43: #define NTP_STATUS_PPSPEER      7
        !            44: 
        !            45: /* NTP association type identifier */
        !            46: #define NTP_CLOCKTYPE_UNKNOWN   '-'
        !            47: #define NTP_CLOCKTYPE_BROADCAST 'b'
        !            48: #define NTP_CLOCKTYPE_LOCAL     'l'
        !            49: #define NTP_CLOCKTYPE_UNICAST   'u'
        !            50: #define NTP_CLOCKTYPE_MULTICAST 'm'
        !            51: 
        !            52: /* Variable Sets */
        !            53: #define PEERVARS CTL_OP_READVAR
        !            54: #define CLOCKVARS CTL_OP_CLOCKVAR
        !            55: 
        !            56: /* Variable list struct */
        !            57: struct ntpq_varlist {
        !            58:        char *name;
        !            59:        char *value;
        !            60: };
        !            61: 
        !            62: /* global variables used for holding snapshots of data */
        !            63: #ifndef LIBNTPQ_C
        !            64: extern char peervars[];
        !            65: extern int peervarlen;
        !            66: extern int peervar_assoc;
        !            67: extern char clockvars[];
        !            68: extern int clockvarlen;
        !            69: extern int clockvar_assoc;
        !            70: extern char sysvars[];
        !            71: extern int sysvarlen;
        !            72: extern char *ntpq_resultbuffer[];
        !            73: extern struct ntpq_varlist ntpq_varlist[MAXLIST];
        !            74: #endif
        !            75: 
        !            76: 
        !            77: 
        !            78: /* 
        !            79:  * Prototypes of exported libary functions
        !            80:  */
        !            81: 
        !            82: /* from libntpq.c */
        !            83: extern int ntpq_openhost(char *);
        !            84: extern int ntpq_closehost(void);
        !            85: extern int ntpq_queryhost(unsigned short VARSET, associd_t association, char *resultbuf, int maxlen);
        !            86: extern size_t ntpq_getvar(const char *resultbuf, size_t datalen,
        !            87:                          const char *varname, char *varvalue,
        !            88:                          size_t maxlen);
        !            89: extern int ntpq_stripquotes ( char *resultbuf, char *srcbuf, int datalen, int maxlen );
        !            90: extern int ntpq_queryhost_peervars(associd_t association, char *resultbuf, int maxlen);
        !            91: extern int ntpq_get_peervar( const char *varname, char *varvalue, int maxlen);
        !            92: extern size_t ntpq_read_sysvars(char *resultbuf, size_t maxsize);
        !            93: extern int ntpq_get_sysvars( void );
        !            94: extern int ntpq_read_associations ( unsigned short resultbuf[], int max_entries );
        !            95: extern int ntpq_get_assocs ( void );
        !            96: extern int ntpq_get_assoc_number ( associd_t associd );
        !            97: extern int ntpq_get_assoc_peervars( associd_t associd );
        !            98: extern int ntpq_get_assoc_clockvars( associd_t associd );
        !            99: extern int ntpq_get_assoc_allvars( associd_t associd  );
        !           100: extern int ntpq_get_assoc_clocktype(int assoc_index);
        !           101: extern int ntpq_read_assoc_peervars( associd_t associd, char *resultbuf, int maxsize );
        !           102: extern int ntpq_read_assoc_clockvars( associd_t associd, char *resultbuf, int maxsize );
        !           103: 
        !           104: /* in libntpq_subs.c */
        !           105: extern int ntpq_dogetassoc(void);
        !           106: extern char ntpq_decodeaddrtype(sockaddr_u *sock);
        !           107: extern int ntpq_doquerylist(struct ntpq_varlist *, int , associd_t , int , u_short *, int *, const char **datap );
        !           108: 

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