buf man page on DigitalUNIX

Man page or keyword search:  
man Server   12896 pages
apropos Keyword Search (all sections)
Output format
DigitalUNIX logo
[printable version]

buf(9s)								       buf(9s)

NAME
       buf - General: Describes arbitrary I/O

SYNOPSIS
       ──────────────────────────────────
       Member Name   Data Type
       ──────────────────────────────────
       b_flags	     int
       b_forw	     struct buf *
       b_back	     struct buf *
       av_forw	     struct buf *
       av_back	     struct buf *
       b_bcount	     int
       b_error	     short
       b_dev	     dev_t
       b_un.b_addr   caddr_t
       b_lblkno	     daddr_t
       b_blkno	     daddr_t
       b_resid	     int
       b_iodone	     void (*b_iodone) ()
       b_proc	     struct proc *
       ──────────────────────────────────

MEMBERS
       Specifies binary status flags. These flags indicate how a request is to
       be handled and the current status of the request. The  following	 flags
       are  applicable	to  kernel  modules  that  are device drivers: B_READ,
       B_DONE, B_ERROR, B_BUSY, and B_PHYS. See the  DESCRIPTION  section  for
       more  information  on  these  flags.   Specifies a hash chain. Only the
       entity (driver, buffer cache) that owns the buf structure  can  use  or
       reference this member. A driver receiving a buf structure from the buf‐
       fer cache through the strategy routine must not use this member.	 Spec‐
       ifies  a	 hash  chain. Only the entity (driver, buffer cache) that owns
       the buf structure can use or reference this member. A driver  receiving
       a buf structure from the buffer cache through the strategy routine must
       not use this member.  Specifies the position on the free	 list  if  the
       b_flags	member	is  not	 set to B_BUSY.	 Specifies the position on the
       free list if the b_flags member is not set to  B_BUSY.	Specifies  the
       size  of	 the  requested	 transfer (in bytes).  Specifies that an error
       occurred on this data transfer. This member is set to an error code  if
       the  b_flags member bit was set.	 Specifies the special device to which
       the transfer is directed.  Specifies the address at which  to  pull  or
       push  the  data.	  Specifies  the  logical block number.	 Specifies the
       block number on the partition of a disk or on the file system.	Speci‐
       fies (in bytes) the data not transferred because of some error.	Speci‐
       fies the routine called by iodone.  The device driver calls  iodone  at
       the  completion	of  an I/O operation.  Specifies a pointer to the proc
       structure that represents the process performing the I/O.

DESCRIPTION
       The buf data structure describes arbitrary I/O, but is usually  associ‐
       ated  with  block I/O and physio.  A systemwide pool of buf data struc‐
       tures exists for block I/O;  however,  many  kernel  modules  that  are
       device drivers also include locally defined buf data structures.

       Kernel  modules	can  use  the following flags with the b_flags member:
       This flag is set if the operation is read and cleared if the  operation
       is  write.   This  flag is cleared when a request is passed to a driver
       strategy routine. The writer must call iodone to mark a buffer as  com‐
       pleted.	This flag specifies that an error occurred on this data trans‐
       fer.  Kernel modules set this flag if an error occurs.  This flag indi‐
       cates  that the buffer is in use.  This flag indicates that the associ‐
       ated data is in user address space.

NOTES
       The  operating system does not define a B_CALL flag.  The  iodone  rou‐
       tine checks the b_iodone member to determine if you specified a comple‐
       tion routine. If so, iodone clears b_iodone and then calls  the	speci‐
       fied  completion routine. If you want to reuse this buf data structure,
       you must reset the b_iodone member to a completion routine. In fact, it
       is  good programming practice to reset all of the referenced members of
       a buf data structure that you plan to reuse.

FILES
								       buf(9s)
[top]

List of man pages available for DigitalUNIX

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net