summaryrefslogtreecommitdiffstats
path: root/contrib/sendmail/src/bf_torek.h
blob: 48c3995b0d1f9d57e68a989d79f994ff85971285 (plain)
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
/*
 * Copyright (c) 1999 Sendmail, Inc. and its suppliers.
 *	All rights reserved.
 *
 * By using this file, you agree to the terms and conditions set
 * forth in the LICENSE file which can be found at the top level of
 * the sendmail distribution.
 *
 *	$Id: bf_torek.h,v 8.6 1999/11/04 19:31:25 ca Exp $
 *
 * Contributed by Exactis.com, Inc.
 *
 */

#ifndef BF_TOREK_H
#define BF_TOREK_H 1
/*
**  Data structure for storing information about each buffered file
*/

struct bf
{
	bool	bf_committed;	/* Has this buffered file been committed? */
	bool	bf_ondisk;	/* On disk: committed or buffer overflow */
	int	bf_flags;
	int	bf_disk_fd;	/* If on disk, associated file descriptor */
	char	*bf_buf;	/* Memory buffer */
	int	bf_bufsize;	/* Length of above buffer */
	int	bf_buffilled;	/* Bytes of buffer actually filled */
	char	*bf_filename;	/* Name of buffered file, if ever committed */
	mode_t	bf_filemode;	/* Mode of buffered file, if ever committed */
	fpos_t	bf_offset;	/* Currect file offset */
	int	bf_size;	/* Total current size of file */
	int	bf_refcount;	/* Reference count */
};

/* Our lower-level I/O routines */
extern int	_bfclose __P((void *));
extern int	_bfread __P((void *, char *, int));
extern fpos_t	_bfseek __P((void *, fpos_t, int));
extern int	_bfwrite __P((void *, const char *, int));
#endif /* BF_TOREK_H */
OpenPOWER on IntegriCloud