ntp_filegen.h revision 54359
154359Sroberto/* 254359Sroberto * ntp_filegen.h,v 3.9 1996/12/01 16:02:45 kardel Exp 354359Sroberto * 454359Sroberto * definitions for NTP file generations support 554359Sroberto * 654359Sroberto * 754359Sroberto * Copyright (C) 1992, 1996 by Rainer Pruy 854359Sroberto * Friedrich-Alexander Universit�t Erlangen-N�rnberg, Germany 954359Sroberto * 1054359Sroberto * This code may be modified and used freely 1154359Sroberto * provided the credits remain intact. 1254359Sroberto */ 1354359Sroberto 1454359Sroberto#include "ntp_types.h" 1554359Sroberto 1654359Sroberto/* 1754359Sroberto * supported file generation types 1854359Sroberto */ 1954359Sroberto 2054359Sroberto#define FILEGEN_NONE 255 /* no generations - use plain file name */ 2154359Sroberto#define FILEGEN_PID 1 /* one filegen per process incarnation */ 2254359Sroberto#define FILEGEN_DAY 2 /* one filegen per day */ 2354359Sroberto#define FILEGEN_WEEK 3 /* one filegen per week */ 2454359Sroberto#define FILEGEN_MONTH 4 /* one filegen per month */ 2554359Sroberto#define FILEGEN_YEAR 5 /* one filegen per year */ 2654359Sroberto#define FILEGEN_AGE 6 /* change filegen each FG_AGE_SECS */ 2754359Sroberto 2854359Sroberto/* 2954359Sroberto * supported file generation flags 3054359Sroberto */ 3154359Sroberto 3254359Sroberto#define FGEN_FLAG_LINK 0x01 /* make a link to base name */ 3354359Sroberto 3454359Sroberto#define FGEN_FLAG_ENABLED 0x80 /* set this to really create files */ 3554359Sroberto /* without this, open is suppressed */ 3654359Sroberto 3754359Srobertotypedef struct FILEGEN 3854359Sroberto { 3954359Sroberto FILE *fp; /* file referring to current generation */ 4054359Sroberto char *prefix; /* filename prefix and basename to be used*/ 4154359Sroberto char *basename; /* for constructing filename of generation file */ 4254359Sroberto /* WARNING: must be malloced !!! will be fed to free()*/ 4354359Sroberto u_long id; /* id of current generation */ 4454359Sroberto u_char type; /* type of file generation */ 4554359Sroberto u_char flag; /* flags modifying processing of file generation */ 4654359Sroberto } FILEGEN; 4754359Sroberto 4854359Srobertoextern void filegen_setup P((FILEGEN *, u_long)); 4954359Srobertoextern void filegen_config P((FILEGEN *, char *, u_int, u_int)); 5054359Srobertoextern FILEGEN *filegen_get P((char *)); 5154359Srobertoextern void filegen_register P((const char *, FILEGEN *)); 52