aboutsummaryrefslogtreecommitdiff
path: root/unix/hlib/libc/fset.h
diff options
context:
space:
mode:
Diffstat (limited to 'unix/hlib/libc/fset.h')
-rw-r--r--unix/hlib/libc/fset.h64
1 files changed, 64 insertions, 0 deletions
diff --git a/unix/hlib/libc/fset.h b/unix/hlib/libc/fset.h
new file mode 100644
index 00000000..5d5fb33e
--- /dev/null
+++ b/unix/hlib/libc/fset.h
@@ -0,0 +1,64 @@
+/*
+ * FSET.H -- FSET/FSTATUS parameters (r = read_only, * = internal to FIO).
+ * Some of these parameters provide access to the guts of the i/o system and
+ * should not be used by packages outside FIO, to avoid a dependence on the
+ * inner workings of FIO. Parameters affecting the file buffer number, types,
+ * or sizes are read-only after the first i/o to the file.
+ */
+
+#define F_ADVICE 1 /* advice on type of access (rand,seq,def) */
+#define F_ASYNC 2 /* enable asynchronous i/o [y/n] */
+#define F_BLKSIZE 3 /*r device block size, chars */
+#define F_BUFPTR 4 /** install externally created file buffer */
+#define F_BUFSIZE 5 /* file buffer size, chars */
+#define F_BUFTOP 6 /** set pointer to top of buffer */
+#define F_BUFTYPE 7 /* file buffer type (F_LOCAL or F_GLOBAL) */
+#define F_CANCEL 8 /* cancel buffered data */
+#define F_CHANNEL 9 /*r channel number */
+#define F_CLOBBER 10 /* is file clobber enabled [y/n] */
+#define F_CLOSEFD 11 /* close host channel when inactive */
+#define F_DEVCODE 12 /** device driver code (index in devtab) */
+#define F_DEVICE 13 /** address of device read/get routine */
+#define F_EOF 14 /*r is file positioned at EOF [y/n] */
+#define F_FFIOMODE 15 /*r is i/o in progress on channel */
+#define F_FILENAME 16 /*r get file name (fstats) */
+#define F_FILESIZE 17 /*r get file size (fstatl) */
+#define F_FILEWAIT 18 /* is file wait on open enabled [y/n] */
+#define F_FIODES 19 /** struct pointer to file descrip. structure */
+#define F_FIRSTBUFOFF 20 /* file offset of first FIO buf (default=1) */
+#define F_FLUSHNL 21 /* is flush on newline enabled [y/n] */
+#define F_IOMODE 22 /* raw (vs "cooked") mode for terminal i/o */
+#define F_KEEP 23 /* keep file after task completion? */
+#define F_LASTREFFILE 24 /*r get FD of last referenced (active) file */
+#define F_MAXBUFSIZE 25 /*r maximum file buffer size */
+#define F_MODE 26 /*r file access mode (ro,wo,rw) */
+#define F_NBUFS 27 /* number of file buffers */
+#define F_NCHARS 28 /*r nchars last transfer */
+#define F_ONEVERSION 29 /* keep only one version of a file */
+#define F_OPEN 30 /*r is file open */
+#define F_OPTBUFSIZE 31 /*r optimal buffer size for device (chars) */
+#define F_PBBSIZE 32 /* push back buffer size, chars */
+#define F_RAW 33 /*r set/stat raw mode (see F_IOMODE) */
+#define F_READ 34 /*r does file have read access [y/n] */
+#define F_REDIR 35 /*r i/o is redirected */
+#define F_SETREDRAW 36 /*w enable screen redraw code (suspend proc) */
+#define F_SZBBLK 37 /*r size in bytes of last dev block r|w */
+#define F_TYPE 38 /*r file type (text, binary) */
+#define F_UNREAD 39 /*r number of unread chars in FIO buffer */
+#define F_VALIDATE 40 /* validate FIO buffer contents (fseti) */
+#define F_WRITE 41 /*r does file have write access [y/n] */
+
+#define F_LOCAL 1 /* allocate local file buffers */
+#define F_GLOBAL 2 /* take file buffers from global pool */
+#define F_GETPROT 2 /* is file protected? */
+#define F_FFIOINACT 0 /* no i/o in progress */
+#define F_FFIOREAD 1 /* read in progress */
+#define F_FFIOWRITE 2 /* write in progress */
+
+/* Terminal mode stuff. I/O mode flags maybe combined, e.g., IO_RAW+IO_NDELAY.
+ */
+#define IO_NORMAL 0 /* "normal" terminal i/o */
+#define IO_RAW 001B /* enables raw mode i/o */
+#define IO_NDELAY 100B /* enables nonblocking i/o */
+
+#define D_fset