G_DATA(9) | Kernel Developer's Manual | G_DATA(9) |
g_read_data
,
g_write_data
— read/write
data from/to GEOM consumer
#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);
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.
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.
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.
Possible errors:
EIO
]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)
This manual page was written by Pawel Jakub Dawidek <pjd@FreeBSD.org>.
January 16, 2004 | Debian |