Back to Darwin Xnu

Device Read Overwrite

osfmk/man/device_read_overwrite.html

latest2.0 KB
Original Source

device_read_overwrite


System Trap -- Read a sequence of bytes from a specific device into my address space.

SYNOPSIS

**kern\_return\_t device\_read\_overwrite**** (mach\_port\_t **device,** dev\_mode\_t **mode,** recnum\_t **recnum,** io\_buf\_len\_t **bytes\_wanted,** io\_buf\_pointer\_t **data,** mach\_msg\_type\_number\_t **data\_count** ); ****kern\_return\_t device\_read\_overwrite\_request**** (mach\_port\_t **device,** mach\_port\_t **reply\_port,** dev\_mode\_t **mode,** recnum\_t **recnum,** io\_buf\_len\_t **bytes\_wanted,** io\_buf\_pointer\_t **data** ); ****kern\_return\_t ds\_device\_read\_reply\_overwrite**** (mach\_port\_t **reply\_port,** kern\_return\_t **return\_code,** io\_buf\_len\_t **data\_count** );**

PARAMETERS

device[in device send right] A device port to the device to be read.

reply_port[in reply receive (to be converted to send-once) right] The port to which the reply message is to be sent.

mode[in scalar] I/O mode value. Meaningful options are:

D_NOWAIT Do not wait if data is unavailable.

recnum[in scalar] Record number to be read.

bytes_wanted[in scalar] Size of data transfer.

return_code[in scalar] The return status code from the read.

data[pointer to in array of bytes] Data buffer to be overwritten.

data_count[out scalar, in for asynchronous form] Number of returned data bytes.

DESCRIPTION

The device_read_overwrite system trap reads a sequence of bytes from a device object directly into the caller's address space. The meaning of recnum as well as the specific operation performed is device dependent.

NOTES

The device_read_overwrite_request and device_read_reply_overwrite calls may be removed from the interface in favor of new asynchronous support.

RETURN VALUES

Only generic errors apply.

Functions: device_read, device_read_inband, device_reply_server.