AncillaryData converts a cmsghdr into a representation suitable for passing around
inside of starnix. In AF_UNIX/SCM_RIGHTS, for example, the file descrpitors will be turned
into FileHandles that can be sent to other tasks.
The InputBuffer allows for reading bytes from a buffer.
A single InputBuffer will only read up to MAX_RW_COUNT bytes which is the maximum size of a
single operation.
The OutputBuffer allows for writing bytes to a buffer.
A single OutputBuffer will only write up to MAX_RW_COUNT bytes which is the maximum size of a
single operation.
The callback for InputBuffer::peek_each and InputBuffer::read_each. The callback is passed
the buffers to write to in order, and must return for each, how many bytes has been read.
The callback for OutputBuffer::write_each. The callback is passed the buffers to write to in
order, and must return for each, how many bytes has been written.