aboutsummaryrefslogtreecommitdiff
path: root/usr.sbin/xntpd/include/ntp_filegen.h
blob: 9e75bc63fc97f2ca0b2d4a5844e442545ceb336c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
/*
 * ntp_filegen.h,v 3.8 1994/05/30 09:48:53 kardel Exp
 *
 * definitions for NTP file generations support
 *
 *
 * Copyright (c) 1992
 * Rainer Pruy Friedrich-Alexander Unuiversitaet Erlangen-Nuernberg
 *
 * This code may be modified and used freely
 * provided the credits remain intact.
 */

#include "ntp_types.h"

/*
 * supported file generation types
 */

#define FILEGEN_NONE	255	/* no generations - use plain file name */
#define FILEGEN_PID	1	/* one filegen per process incarnation */
#define FILEGEN_DAY	2	/* one filegen per day */
#define FILEGEN_WEEK	3	/* one filegen per week */
#define FILEGEN_MONTH	4	/* one filegen per month */
#define FILEGEN_YEAR	5	/* one filegen per year */
#define FILEGEN_AGE     6	/* change filegen each FG_AGE_SECS */

/*
 * supported file generation flags
 */

#define FGEN_FLAG_LINK		0x01 /* make a link to base name */

#define FGEN_FLAG_ENABLED	0x80 /* set this to really create files   */
				     /* without this, open is suppressed */

typedef struct FILEGEN
        {
	  FILE   *fp;		/* file referring to current generation */
	  char   *prefix;	/* filename prefix and basename to be used*/
	  char   *basename;	/* for constructing filename of generation file */
				/* WARNING: must be malloced !!! will be fed to free()*/
	  u_long  id;		/* id of current generation */
	  u_char  type;		/* type of file generation */
	  u_char  flag;		/* flags modifying processing of file generation */
	}	FILEGEN;

extern	void	filegen_setup	P((FILEGEN *, u_long));
extern	void	filegen_config	P((FILEGEN *, char *, u_int, u_int));
extern	FILEGEN *filegen_get	P((char *));
extern	void	filegen_register P((char *, FILEGEN *));