The remaining methods to be implemented from the
IOSerialDriverSync interface are the data transfer methods. The serial driver will be provided with data to be transmitted over the serial port through the method
enqueueData(), and the data that the driver has received from the serial port is provided to clients through the
When a user space process writes data to a serial port, it is first handled in the kernel by the
IOSerialBSDClient class, which is responsible for passing the data on to the serial port driver. The
IOSerialBSDClient will provide the data to the serial driver by calling its
enqueueData() method, which has the following signature:
IOReturn enqueueData(UInt8 *buffer, UInt32 size, UInt32 ...