osfmk/man/device_read_inband.html
Function - Read a sequence of bytes "inband" from a device object.
**#include<device/device.h>**** kern\_return\_t device\_read\_inband****(mach\_port\_t**device, **dev\_mode\_t** mode, **recnum\_t** recnum, **io\_buf\_len\_t** bytes\_wanted, **io\_buf\_ptr\_inband\_t** data, **mach\_msg\_type\_number\_t** \*data\_count**);****#include<device/device\_request.h> ****kern\_return\_t device\_read\_request\_inband**** (mach\_port\_t **device,** mach\_port\_t **reply\_port,** dev\_mode\_t **mode,** recnum\_t **recnum,** io\_buf\_len\_t **bytes\_wanted** ); ****kern\_return\_t ds\_device\_read\_reply\_inband**** (mach\_port\_t **reply\_port,** kern\_return\_t **return\_code,** io\_buf\_ptr\_inband\_t **data,** mach\_msg\_type\_number\_t **data\_count** );**
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[out array of bytes, in for asynchronous form] Returned data bytes.
data_count[out scalar, in for asynchronous form] Number of returned data bytes.
The device_read_inband function reads a sequence of bytes from a device object. The meaning of recnum as well as the specific operation performed is device dependent. This call differs from device_read in that the returned bytes are returned "inband" in the reply IPC message.
Only generic errors apply.
Functions: device_read, device_read_overwrite, device_reply_server.