/contrib/ntp/include/ntp_filegen.h

https://bitbucket.org/freebsd/freebsd-head/ · C Header · 51 lines · 23 code · 8 blank · 20 comment · 0 complexity · 2e80cacd3ee8c355491b82451bbe3aba MD5 · raw file

  1. /*
  2. * ntp_filegen.h,v 3.9 1996/12/01 16:02:45 kardel Exp
  3. *
  4. * definitions for NTP file generations support
  5. *
  6. *
  7. * Copyright (C) 1992, 1996 by Rainer Pruy
  8. * Friedrich-Alexander Universität Erlangen-Nürnberg, Germany
  9. *
  10. * This code may be modified and used freely
  11. * provided the credits remain intact.
  12. */
  13. #include "ntp_types.h"
  14. /*
  15. * supported file generation types
  16. */
  17. #define FILEGEN_NONE 255 /* no generations - use plain file name */
  18. #define FILEGEN_PID 1 /* one filegen per process incarnation */
  19. #define FILEGEN_DAY 2 /* one filegen per day */
  20. #define FILEGEN_WEEK 3 /* one filegen per week */
  21. #define FILEGEN_MONTH 4 /* one filegen per month */
  22. #define FILEGEN_YEAR 5 /* one filegen per year */
  23. #define FILEGEN_AGE 6 /* change filegen each FG_AGE_SECS */
  24. /*
  25. * supported file generation flags
  26. */
  27. #define FGEN_FLAG_LINK 0x01 /* make a link to base name */
  28. #define FGEN_FLAG_ENABLED 0x80 /* set this to really create files */
  29. /* without this, open is suppressed */
  30. typedef struct FILEGEN
  31. {
  32. FILE *fp; /* file referring to current generation */
  33. char *prefix; /* filename prefix and basename to be used*/
  34. char *basename; /* for constructing filename of generation file */
  35. /* WARNING: must be malloced !!! will be fed to free()*/
  36. u_long id; /* id of current generation */
  37. u_char type; /* type of file generation */
  38. u_char flag; /* flags modifying processing of file generation */
  39. } FILEGEN;
  40. extern void filegen_setup P((FILEGEN *, u_long));
  41. extern void filegen_config P((FILEGEN *, char *, u_int, u_int));
  42. extern FILEGEN *filegen_get P((char *));
  43. extern void filegen_register P((char *, const char *, FILEGEN *));