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 39typedef 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 50extern void filegen_setup (FILEGEN *, u_int32); 51extern void filegen_config (FILEGEN *, const char *, const char *, 52 u_int, u_int); 53extern void filegen_statsdir(void); 54extern FILEGEN *filegen_get (const char *); 55extern void filegen_register (const char *, const char *, FILEGEN *); 56#ifdef DEBUG 57extern void filegen_unregister(const char *); 58#endif 59