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