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 */
|