1/* $NetBSD: ntp_filegen.h,v 1.2 2010/12/04 23:08:33 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 Universit�t Erlangen-N�rnberg, 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 40{ 41 FILE * fp; /* file referring to current generation */ 42 const char * prefix; /* filename prefix and basename to be used*/ 43 char * basename; /* for constructing filename of generation file */ 44 /* WARNING: must be malloced !!! will be fed to free()*/ 45 u_long id; /* id of current generation */ 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_long); 51extern void filegen_config (FILEGEN *, const char *, u_int, u_int); 52extern FILEGEN *filegen_get (const char *); 53extern void filegen_register (const char *, const char *, FILEGEN *); 54#ifdef DEBUG 55extern void filegen_unregister(const char *); 56#endif 57