g_read_datag_write_data
- read/write data from/to GEOM consumer
SYNOPSIS
#include <geom/geom.h> void *
Fo g_read_data
Fa struct g_consumer *cp off_t offset off_t length int *error
Fc Ft int
Fo g_write_data
Fa struct g_consumer *cp off_t offset void *ptr off_t length
Fc
DESCRIPTION
The
g_read_data ();
function reads
Fa length
bytes of data from the provider attached to consumer
Fa cp ,
starting at offset
Fa offset .
The buffer returned from
g_read_data ();
is allocated with
g_malloc (,);
so it should be freed by the caller with
g_free ();
after use.
If the operation fails, an error value will be stored in the
Fa error
argument if it is not
NULL
The
g_write_data ();
function writes
Fa length
bytes of data from the buffer pointed to by
Fa ptr
to the provider attached to consumer
Fa cp ,
starting at offset
Fa offset .
RESTRICTIONS/CONDITIONS
The
Fa length
argument
should be a multiple of the provider's sectorsize
and less than or equal to
DFLTPHYS( DFLTPHYS
is defined in
In sys/param.h ) .
The topology lock must not be held.
RETURN VALUES
The
g_read_data ();
function returns a pointer to a data buffer or
NULL
if an error occurred.
In that case an error value is stored in the
Fa error
argument unless it is
NULL
The
g_write_data ();
function returns 0 if successful; otherwise an error code is returned.
ERRORS
Possible errors:
Bq Er EIO
An I/O error occurred while reading from or writing to the consumer.