1 /* $NetBSD: ntp_filegen.h,v 1.8 2020/05/25 20:47:19 christos Exp $ */ 2 3 /* 4 * ntp_filegen.h,v 3.9 1996/12/01 16:02:45 kardel Exp 5 * 6 * definitions for NTP file generations support 7 * 8 * 9 * Copyright (C) 1992, 1996 by Rainer Pruy 10 * Friedrich-Alexander Universitaet Erlangen-Nuernberg, Germany 11 * 12 * This code may be modified and used freely 13 * provided the credits remain intact. 14 */ 15 16 #include "ntp_types.h" 17 18 /* 19 * supported file generation types 20 */ 21 22 #define FILEGEN_NONE 255 /* no generations - use plain file name */ 23 #define FILEGEN_PID 1 /* one filegen per process incarnation */ 24 #define FILEGEN_DAY 2 /* one filegen per day */ 25 #define FILEGEN_WEEK 3 /* one filegen per week */ 26 #define FILEGEN_MONTH 4 /* one filegen per month */ 27 #define FILEGEN_YEAR 5 /* one filegen per year */ 28 #define FILEGEN_AGE 6 /* change filegen each FG_AGE_SECS */ 29 30 /* 31 * supported file generation flags 32 */ 33 34 #define FGEN_FLAG_LINK 0x01 /* make a link to base name */ 35 36 #define FGEN_FLAG_ENABLED 0x80 /* set this to really create files */ 37 /* without this, open is suppressed */ 38 39 typedef struct filegen_tag { 40 FILE * fp; /* file referring to current generation */ 41 char * dir; /* currently always statsdir */ 42 char * fname; /* filename prefix of generation file */ 43 /* must be malloced, will be fed to free() */ 44 u_long id_lo; /* lower bound of ident value */ 45 u_long id_hi; /* upper bound of ident value */ 46 u_char type; /* type of file generation */ 47 u_char flag; /* flags modifying processing of file generation */ 48 } FILEGEN; 49 50 extern void filegen_setup (FILEGEN *, u_int32); 51 extern void filegen_config (FILEGEN *, const char *, const char *, 52 u_int, u_int); 53 extern void filegen_statsdir(void); 54 extern FILEGEN *filegen_get (const char *); 55 extern void filegen_register (const char *, const char *, FILEGEN *); 56 #ifdef DEBUG 57 extern void filegen_unregister(const char *); 58 #endif 59