LDI_READ(9F) Kernel Functions for Drivers LDI_READ(9F)

NAME


ldi_read, ldi_write - Read and write from a device

SYNOPSIS


#include <sys/sunldi.h>

int ldi_read(ldi_handle_t lh, struct uio *uiop, cred_t *cr);


int ldi_write(ldi_handle_t lh, struct uio *uiop, cred_t *cr);


PARAMETERS


lh
Layered handle.


cr
Pointer to a credential structure used to open a device.


uiop
Pointer to the uio(9S) structure. uio(9S) specifies the
location of the read or write data. (Either userland or
kernel.)


DESCRIPTION


The ldi_read() function passes a read request to the device entry point
for the device specified by the layered handle. This operation is
supported for block, character, and streams devices.


The ldi_write() function passes a write request to the device entry point
for a device specified by the layered handle. This operation is supported
for block, character, and streams devices.

RETURN VALUES


The ldi_read() and ldi_write() functions return 0 upon success. If a
failure occurs before the request is passed to the device, the possible
return values are shown below. Otherwise any other error number may be
returned by the device.

EINVAL
Invalid input parameters.


ENOTSUP
Operation is not supported for this device.


CONTEXT


These functions may be called from user or kernel context.

illumos June 3, 2003 LDI_READ(9F)