in16s()
Read 16-bit values from a port
Synopsis:
#include <hw/inout.h> void * in16s( void * buff, unsigned len, uintptr_t port );
Arguments:
- buff
- A pointer to a buffer where the function can store the values read.
- len
- The number of values that you want to read.
- port
- The port you want to read the values from.
Library:
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
Description:
The in16s() function reads len 16-bit values from the specified port and stores them in the buffer pointed to by buff.
Returns:
A pointer to the end of the read data.
Classification:
Safety: | |
---|---|
Cancellation point | No |
Interrupt handler | Yes |
Signal handler | Yes |
Thread | Yes |
Caveats:
The calling thread must have the PROCMGR_AID_IO ability enabled and must have I/O privileges; see procmgr_ability() , and ThreadCtl() 's _NTO_TCTL_IO command for details.
The calling process must also use mmap_device_io() to access the device's I/O registers.