READ_VTOC(3EXT) 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() and read_extvtoc() return a
positive integer indicating the slice index associated with the open
file descriptor. Otherwise, they return 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 that is illegal on
the disk and may overflow the fields in the data
structure.


Upon successful completion, write_vtoc() and write_extvtoc() return
0. Otherwise, they return 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 that is illegal on
the disk and may overflow the fields in the data
structure.


ATTRIBUTES


See attributes(7) for descriptions of the following attributes:


+---------------+-----------------+
|ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+---------------+-----------------+
|MT-Level | Unsafe |
+---------------+-----------------+

SEE ALSO


ioctl(2), efi_alloc_and_init(3EXT), dkio(4I), attributes(7),
fmthard(8), format(8), prtvtoc(8)

BUGS


The write_vtoc() function cannot write a VTOC on an unlabeled disk.
Use format(8) for this purpose.

October 7, 2008 READ_VTOC(3EXT)

tribblix@gmail.com :: GitHub :: Privacy