table of contents
| G_DATA(9) | Kernel Developer's Manual | G_DATA(9) | 
NAME¶
g_read_data,
    g_write_data — read/write
    data from/to GEOM consumer
SYNOPSIS¶
#include
    <geom/geom.h>
void *
  
  g_read_data(struct g_consumer
    *cp, off_t offset, off_t
    length, int *error);
int
  
  g_write_data(struct g_consumer
    *cp, off_t offset, void
    *ptr, off_t length);
DESCRIPTION¶
The
    g_read_data()
    function reads length bytes of data from the provider
    attached to consumer cp, starting at offset
    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
    error argument if it is not
    NULL.
The
    g_write_data()
    function writes length bytes of data from the buffer
    pointed to by ptr to the provider attached to consumer
    cp, starting at offset
  offset.
RESTRICTIONS/CONDITIONS¶
The length argument should be a multiple of
    the provider's sectorsize and less than or equal to
    DFLTPHYS (DFLTPHYS is
    defined 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
    error argument unless it is
    NULL.
The g_write_data() function returns 0 if
    successful; otherwise an error code is returned.
ERRORS¶
Possible errors:
- [
EIO] - An I/O error occurred while reading from or writing to the consumer.
 
SEE ALSO¶
geom(4), DECLARE_GEOM_CLASS(9), g_access(9), g_attach(9), g_bio(9), g_consumer(9), g_event(9), g_geom(9), g_provider(9), g_provider_by_name(9), g_wither_geom(9)
AUTHORS¶
This manual page was written by Pawel Jakub Dawidek <pjd@FreeBSD.org>.
| January 16, 2004 | Debian |