File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / ntp / ntpdc / ntpdc.h
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Tue May 29 12:08:38 2012 UTC (12 years, 1 month ago) by misho
Branches: ntp, MAIN
CVS tags: v4_2_6p5p0, v4_2_6p5, HEAD
ntp 4.2.6p5

    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>