  Extended Library Functions                        read_vtoc(3EXT)
  
  NAME
       read_vtoc, write_vtoc - read and write a disk's VTOC
  
  SYNOPSIS
       cc [ flag ... ] file ... -ladm [ library ... ]
       #include <sys/vtoc.h>
  
       int read_vtoc(int fd, struct vtoc *vtoc);
  
       int write_vtoc(int fd, struct vtoc *vtoc);
|     
|      int read_extvtoc(int fd, struct extvtoc *extvtoc); 
|         
|      int write_extvtoc(int fd, struct extvtoc *extvtoc); 
  
  DESCRIPTION
|      The read_vtoc() and read_extvtoc functions return the VTOC
|      (volume  table  of contents)  structure  that is stored on  the disk 
|      associated with the open file descriptor fd. On disks larger than
|      1 TB read_extvtoc must be used.
  
|      The write_vtoc() and write_extvtoc function stores the VTOC structure 
|      on the disk associated with the open file descriptor fd. On disks larger 
|      then 1TB write_extvtoc function must be used.
  
       The fd argument refers to any slice on a raw disk.
  
  RETURN VALUES
|      Upon successful completion, read_vtoc()/read_extvtoc returns a  positive
       integer  indicating the slice index associated with the open
       file descriptor. Otherwise, it returns  a  negative  integer
       indicating one of the following errors:
  
       VT_EIO        An I/O error occurred.
  
       VT_ENOTSUP    This operation is not supported on this disk.
  
       VT_ERROR      An unknown error occurred.
  
|      VT_OVERFLOW   The caller attempted an operation than is illegal on 
|                    the disk and may overflow the fields in data structure.
| 
|      Upon successful completion, write_vtoc()/write_extvtoc returns  0.  Other-
       wise,  it  returns  a negative integer indicating one of the
       following errors:
  
       VT_EINVAL     The VTOC contains an incorrect field.
  
       VT_EIO        An I/O error occurred.
  
       VT_ENOTSUP    This operation is not supported on this disk.
  
       VT_ERROR      An unknown error occurred.
  
|      VT_OVERFLOW   The caller attempted an operation than is illegal on 
|                    the disk and may overflow the fields in data structure.
| 
  ATTRIBUTES
       See attributes(5) for descriptions of the  following  attri-
       butes:
  
       ____________________________________________________________
      |       ATTRIBUTE TYPE        |       ATTRIBUTE VALUE       |
      |_____________________________|_____________________________|
      | MT-Level                    | Unsafe                      |
      |_____________________________|_____________________________|
  
  SEE ALSO
       fmthard(1M),     format(1M),     prtvtoc(1M),      ioctl(2),
       efi_alloc_and_init(3EXT), attributes(5), dkio(7I)
  
  BUGS
       The write_vtoc() function cannot write a  VTOC on  an  unla-
       beled disk. Use format(1M) for this purpose.
  
  
