File: iob.h

package info (click to toggle)
fis-gtm 7.1-006-1
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 32,908 kB
  • sloc: ansic: 344,906; asm: 5,184; csh: 4,859; sh: 2,000; awk: 294; makefile: 73; sed: 13
file content (33 lines) | stat: -rwxr-xr-x 1,377 bytes parent folder | download | duplicates (7)
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
/****************************************************************
 *								*
 *	Copyright 2001 Sanchez Computer Associates, Inc.	*
 *								*
 *	This source code contains the intellectual property	*
 *	of its copyright holder(s), and is made available	*
 *	under a license.  If you do not know the terms of	*
 *	the license, please stop and do not read further.	*
 *								*
 ****************************************************************/

/* iob.h - definitions used with buffered I/O routines */

typedef struct {
    int fd;		/* descriptor for file */
    char *path;		/* filename */
    int oflag;		/* open flags (see the open system call) */
    int mode;		/* creation mode (see the open system call) */
    int blksiz;		/* minimum size of block */
    int bufsiz;		/* size of buffer (blksiz * blocking factor) */
    char *buf;		/* I/O buffer */
    char *bptr;		/* pointer to last character read/written + 1 */
    int remaining;	/* for read:  bytes remaining to be read from buffer.
			 * write:     remaining space in buffer */
    int write_mode;	/* last operation was a write */
} BFILE;

void iob_close(BFILE *bf);
void iob_flush(BFILE *bf);
BFILE *iob_open_rd(char *path, int blksiz, int blkfactor);
BFILE *iob_open_wt(char *path, int blksiz, int blkfactor);
void iob_read(BFILE *bf, char *buf, int nbytes);
void iob_write(BFILE *bf, char *buf, int nbytes);