ntp_filegen.h revision 290001
1331722Seadler/* 2256694Snp * ntp_filegen.h,v 3.9 1996/12/01 16:02:45 kardel Exp 3256694Snp * 4256694Snp * definitions for NTP file generations support 5256694Snp * 6256694Snp * 7256694Snp * Copyright (C) 1992, 1996 by Rainer Pruy 8256694Snp * Friedrich-Alexander Universitaet Erlangen-Nuernberg, Germany 9256694Snp * 10256694Snp * This code may be modified and used freely 11256694Snp * provided the credits remain intact. 12256694Snp */ 13256694Snp 14256694Snp#include "ntp_types.h" 15256694Snp 16256694Snp/* 17256694Snp * supported file generation types 18256694Snp */ 19256694Snp 20256694Snp#define FILEGEN_NONE 255 /* no generations - use plain file name */ 21256694Snp#define FILEGEN_PID 1 /* one filegen per process incarnation */ 22256694Snp#define FILEGEN_DAY 2 /* one filegen per day */ 23256694Snp#define FILEGEN_WEEK 3 /* one filegen per week */ 24256694Snp#define FILEGEN_MONTH 4 /* one filegen per month */ 25256694Snp#define FILEGEN_YEAR 5 /* one filegen per year */ 26256694Snp#define FILEGEN_AGE 6 /* change filegen each FG_AGE_SECS */ 27256694Snp 28256694Snp/* 29256694Snp * supported file generation flags 30256694Snp */ 31256694Snp 32256694Snp#define FGEN_FLAG_LINK 0x01 /* make a link to base name */ 33256694Snp 34256694Snp#define FGEN_FLAG_ENABLED 0x80 /* set this to really create files */ 35256694Snp /* without this, open is suppressed */ 36256694Snp 37256694Snptypedef struct filegen_tag { 38256694Snp FILE * fp; /* file referring to current generation */ 39256694Snp char * dir; /* currently always statsdir */ 40256694Snp char * fname; /* filename prefix of generation file */ 41256694Snp /* must be malloced, will be fed to free() */ 42256694Snp u_long id_lo; /* lower bound of ident value */ 43256694Snp u_long id_hi; /* upper bound of ident value */ 44256694Snp u_char type; /* type of file generation */ 45256694Snp u_char flag; /* flags modifying processing of file generation */ 46331769Shselasky} FILEGEN; 47256694Snp 48256694Snpextern void filegen_setup (FILEGEN *, u_int32); 49256694Snpextern void filegen_config (FILEGEN *, const char *, const char *, 50318798Snp u_int, u_int); 51318798Snpextern void filegen_statsdir(void); 52297124Snpextern FILEGEN *filegen_get (const char *); 53318798Snpextern void filegen_register (const char *, const char *, FILEGEN *); 54331769Shselasky#ifdef DEBUG 55297124Snpextern void filegen_unregister(const char *); 56318798Snp#endif 57256694Snp