⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 saio.h

📁 <B>Digital的Unix操作系统VAX 4.2源码</B>
💻 H
字号:
/* * Header file for standalone package *//*	@(#)saio.h	4.1	(ULTRIX)	7/2/90	*//************************************************************************ *									* *			Copyright (c) 1985 by				* *		Digital Equipment Corporation, Maynard, MA		* *			All rights reserved.				* *									* *   This software is furnished under a license and may be used and	* *   copied  only  in accordance with the terms of such license and	* *   with the  inclusion  of  the  above  copyright  notice.   This	* *   software  or  any  other copies thereof may not be provided or	* *   otherwise made available to any other person.  No title to and	* *   ownership of the software is hereby transferred.			* *									* *   This software is  derived  from  software  received  from  the	* *   University    of   California,   Berkeley,   and   from   Bell	* *   Laboratories.  Use, duplication, or disclosure is  subject  to	* *   restrictions  under  license  agreements  with  University  of	* *   California and with AT&T.						* *									* *   The information in this software is subject to change  without	* *   notice  and should not be construed as a commitment by Digital	* *   Equipment Corporation.						* *									* *   Digital assumes no responsibility for the use  or  reliability	* *   of its software on equipment which is not supplied by Digital.	* *									* ************************************************************************/#include "../ufs/fs.h"/* * Io block: includes an * inode, cells for the use of seek, etc, * and a buffer. */struct	iob {	int	i_flgs;		/* see F_ below */	struct	gnode i_ino;	/* inode, if file */	int	i_unit;		/* pseudo device unit */	daddr_t	i_boff;		/* block offset on device */	daddr_t	i_cyloff;	/* cylinder offset on device */	off_t	i_offset;	/* seek offset in file */	daddr_t	i_bn;		/* 1st block # of next read */	char	*i_ma;		/* memory address of i/o buffer */	int	i_cc;		/* character count of transfer */	int	i_error;	/* error # return */	int	i_errcnt;	/* error count for driver retries */	int	i_errblk;	/* block # in error for error reporting */	char	i_buf[MAXBSIZE];/* i/o buffer */	union {		struct fs ui_fs;	/* file system super block info */		char dummy[SBSIZE];	} i_un;};#define i_fs i_un.ui_fs#define NULL 0#define F_READ		0x1	/* file opened for reading */#define F_WRITE		0x2	/* file opened for writing */#define F_ALLOC		0x4	/* buffer allocated */#define F_FILE		0x8	/* file instead of device */#define F_NBSF		0x10	/* no bad sector forwarding */#define F_ECCLM		0x20	/* limit # of bits in ecc correction */#define F_SSI		0x40	/* set skip sector inhibit */#define F_SEVRE		0x80	/* Severe burnin (no retries, no ECC) *//* io types */#define	F_RDDATA	0x0100	/* read data */#define	F_WRDATA	0x0200	/* write data */#define F_HDR		0x0400	/* include header on next i/o */#define F_CHECK		0x0800	/* perform check of data read/write */#define F_HCHECK	0x1000	/* perform check of header and data */#define	F_TYPEMASK	0xff00/* *	dv_flags definitions */#define	READ	1#define	WRITE	2#define	NBUFS	4char	b[NBUFS][MAXBSIZE];daddr_t	blknos[NBUFS];#define	NFILES	1struct iob iob[NFILES];extern	int errno;	/* just like unix *//* error codes */#define	EBADF	1	/* bad file descriptor */#define	EOFFSET	2	/* relative seek not supported */#define	EDEV	3	/* improper device specification on open */#define	ENXIO	4	/* unknown device specified */#define	EUNIT	5	/* improper unit specification */#define	ESRCH	6	/* directory search for file failed */#define	EIO	7	/* generic error */#define	ECMD	10	/* undefined driver command */#define	EBSE	11	/* bad sector error */#define	EWCK	12	/* write check error */#define	EECC	13	/* uncorrectable ecc error */#define	EHER	14	/* hard error */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -