/contrib/ntp/ntpq/ntpq.h

https://bitbucket.org/freebsd/freebsd-head/ · C++ Header · 93 lines · 53 code · 10 blank · 30 comment · 0 complexity · 3a6a316dbc0c7d5fa29651c8626acf35 MD5 · raw file

  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. /*
  10. * Maximum number of arguments
  11. */
  12. #define MAXARGS 4
  13. /*
  14. * Flags for forming descriptors.
  15. */
  16. /*
  17. * Flags for forming descriptors.
  18. */
  19. #define OPT 0x80 /* this argument is optional, or'd with type */
  20. #define NO 0x0
  21. #define NTP_STR 0x1 /* string argument */
  22. #define NTP_UINT 0x2 /* unsigned integer */
  23. #define NTP_INT 0x3 /* signed integer */
  24. #define NTP_ADD 0x4 /* IP network address */
  25. #define IP_VERSION 0x5 /* IP version */
  26. /*
  27. * Arguments are returned in a union
  28. */
  29. typedef union {
  30. char *string;
  31. long ival;
  32. u_long uval;
  33. struct sockaddr_storage netnum;
  34. } arg_v;
  35. /*
  36. * Structure for passing parsed command line
  37. */
  38. struct parse {
  39. const char *keyword;
  40. arg_v argval[MAXARGS];
  41. int nargs;
  42. };
  43. /*
  44. * ntpdc includes a command parser which could charitably be called
  45. * crude. The following structure is used to define the command
  46. * syntax.
  47. */
  48. struct xcmd {
  49. const char *keyword; /* command key word */
  50. void (*handler) P((struct parse *, FILE *)); /* command handler */
  51. u_char arg[MAXARGS]; /* descriptors for arguments */
  52. const char *desc[MAXARGS]; /* descriptions for arguments */
  53. const char *comment;
  54. };
  55. /*
  56. * Structure to hold association data
  57. */
  58. struct association {
  59. u_short assid;
  60. u_short status;
  61. };
  62. #define MAXASSOC 1024
  63. /*
  64. * Structure for translation tables between text format
  65. * variable indices and text format.
  66. */
  67. struct ctl_var {
  68. u_short code;
  69. u_short fmt;
  70. const char *text;
  71. };
  72. extern void asciize P((int, char *, FILE *));
  73. extern int getnetnum P((const char *, struct sockaddr_storage *, char *, int));
  74. extern void sortassoc P((void));
  75. extern int doquery P((int, int, int, int, char *, u_short *, int *, char **));
  76. extern char * nntohost P((struct sockaddr_storage *));
  77. extern int decodets P((char *, l_fp *));
  78. extern int decodeuint P((char *, u_long *));
  79. extern int nextvar P((int *, char **, char **, char **));
  80. extern int decodetime P((char *, l_fp *));
  81. extern void printvars P((int, char *, int, int, FILE *));
  82. extern int decodeint P((char *, long *));
  83. extern int findvar P((char *, struct ctl_var *, int code));