bio.h (38524) | bio.h (38862) |
---|---|
1/* 2 * Copyright (c) 1982, 1986, 1989, 1993 3 * The Regents of the University of California. All rights reserved. 4 * (c) UNIX System Laboratories, Inc. 5 * All or some portions of this file are derived from material licensed 6 * to the University of California by American Telephone and Telegraph 7 * Co. or Unix System Laboratories, Inc. and are reproduced herein with 8 * the permission of UNIX System Laboratories, Inc. --- 22 unchanged lines hidden (view full) --- 31 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 32 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 33 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 34 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 35 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 36 * SUCH DAMAGE. 37 * 38 * @(#)buf.h 8.9 (Berkeley) 3/30/95 | 1/* 2 * Copyright (c) 1982, 1986, 1989, 1993 3 * The Regents of the University of California. All rights reserved. 4 * (c) UNIX System Laboratories, Inc. 5 * All or some portions of this file are derived from material licensed 6 * to the University of California by American Telephone and Telegraph 7 * Co. or Unix System Laboratories, Inc. and are reproduced herein with 8 * the permission of UNIX System Laboratories, Inc. --- 22 unchanged lines hidden (view full) --- 31 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 32 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 33 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 34 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 35 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 36 * SUCH DAMAGE. 37 * 38 * @(#)buf.h 8.9 (Berkeley) 3/30/95 |
39 * $Id: buf.h,v 1.53 1998/07/15 04:17:48 bde Exp $ | 39 * $Id: buf.h,v 1.54 1998/08/24 17:47:08 phk Exp $ |
40 */ 41 42#ifndef _SYS_BUF_H_ 43#define _SYS_BUF_H_ 44 45#include <sys/queue.h> 46 47#define NOLIST ((struct buf *)0x87654321) --- 83 unchanged lines hidden (view full) --- 131#define B_AGE 0x00000001 /* Move to age queue when I/O done. */ 132#define B_NEEDCOMMIT 0x00000002 /* Append-write in progress. */ 133#define B_ASYNC 0x00000004 /* Start I/O, do not wait. */ 134#define B_BAD 0x00000008 /* Bad block revectoring in progress. */ 135#define B_BUSY 0x00000010 /* I/O in progress. */ 136#define B_CACHE 0x00000020 /* Bread found us in the cache. */ 137#define B_CALL 0x00000040 /* Call b_iodone from biodone. */ 138#define B_DELWRI 0x00000080 /* Delay I/O until buffer reused. */ | 40 */ 41 42#ifndef _SYS_BUF_H_ 43#define _SYS_BUF_H_ 44 45#include <sys/queue.h> 46 47#define NOLIST ((struct buf *)0x87654321) --- 83 unchanged lines hidden (view full) --- 131#define B_AGE 0x00000001 /* Move to age queue when I/O done. */ 132#define B_NEEDCOMMIT 0x00000002 /* Append-write in progress. */ 133#define B_ASYNC 0x00000004 /* Start I/O, do not wait. */ 134#define B_BAD 0x00000008 /* Bad block revectoring in progress. */ 135#define B_BUSY 0x00000010 /* I/O in progress. */ 136#define B_CACHE 0x00000020 /* Bread found us in the cache. */ 137#define B_CALL 0x00000040 /* Call b_iodone from biodone. */ 138#define B_DELWRI 0x00000080 /* Delay I/O until buffer reused. */ |
139#define B_AVAIL1 0x00000100 /* Available flag */ | 139#define B_FREEBUF 0x00000100 /* Instruct driver: free blocks */ |
140#define B_DONE 0x00000200 /* I/O completed. */ 141#define B_EINTR 0x00000400 /* I/O was interrupted */ 142#define B_ERROR 0x00000800 /* I/O error occurred. */ 143#define B_AVAIL2 0x00001000 /* Available flag */ 144#define B_INVAL 0x00002000 /* Does not contain valid info. */ 145#define B_LOCKED 0x00004000 /* Locked in core (not reusable). */ 146#define B_NOCACHE 0x00008000 /* Do not cache block after use. */ 147#define B_MALLOC 0x00010000 /* malloced b_data */ --- 9 unchanged lines hidden (view full) --- 157#define B_XXX 0x02000000 /* Debugging flag. */ 158#define B_PAGING 0x04000000 /* volatile paging I/O -- bypass VMIO */ 159#define B_ORDERED 0x08000000 /* Must guarantee I/O ordering */ 160#define B_RAM 0x10000000 /* Read ahead mark (flag) */ 161#define B_VMIO 0x20000000 /* VMIO flag */ 162#define B_CLUSTER 0x40000000 /* pagein op, so swap() can count it */ 163#define B_BOUNCE 0x80000000 /* bounce buffer flag */ 164 | 140#define B_DONE 0x00000200 /* I/O completed. */ 141#define B_EINTR 0x00000400 /* I/O was interrupted */ 142#define B_ERROR 0x00000800 /* I/O error occurred. */ 143#define B_AVAIL2 0x00001000 /* Available flag */ 144#define B_INVAL 0x00002000 /* Does not contain valid info. */ 145#define B_LOCKED 0x00004000 /* Locked in core (not reusable). */ 146#define B_NOCACHE 0x00008000 /* Do not cache block after use. */ 147#define B_MALLOC 0x00010000 /* malloced b_data */ --- 9 unchanged lines hidden (view full) --- 157#define B_XXX 0x02000000 /* Debugging flag. */ 158#define B_PAGING 0x04000000 /* volatile paging I/O -- bypass VMIO */ 159#define B_ORDERED 0x08000000 /* Must guarantee I/O ordering */ 160#define B_RAM 0x10000000 /* Read ahead mark (flag) */ 161#define B_VMIO 0x20000000 /* VMIO flag */ 162#define B_CLUSTER 0x40000000 /* pagein op, so swap() can count it */ 163#define B_BOUNCE 0x80000000 /* bounce buffer flag */ 164 |
165#define PRINT_BUF_FLAGS "\20\40bounce\37cluster\36vmio\35ram\34ordered" \ 166 "\33paging\32xxx\31writeinprog\30wanted\27relbuf\26avail3" \ 167 "\25read\24raw\23phys\22clusterok\21malloc\20nocache" \ 168 "\17locked\16inval\15avail2\14error\13eintr\12done\11freebuf" \ 169 "\10delwri\7call\6cache\5busy\4bad\3async\2needcommit\1age" 170 |
|
165#define NOOFFSET (-1LL) /* No buffer offset calculated yet */ 166 167typedef struct buf_queue_head { 168 TAILQ_HEAD(buf_queue, buf) queue; 169 struct buf *insert_point; 170 struct buf *switch_point; 171} buf_queue_head, *buf_queue_head_t; 172 --- 148 unchanged lines hidden --- | 171#define NOOFFSET (-1LL) /* No buffer offset calculated yet */ 172 173typedef struct buf_queue_head { 174 TAILQ_HEAD(buf_queue, buf) queue; 175 struct buf *insert_point; 176 struct buf *switch_point; 177} buf_queue_head, *buf_queue_head_t; 178 --- 148 unchanged lines hidden --- |