Write a 32-bit value to a port
#include <hw/inout.h> void out32( uintptr_t port, uint32_t val ); #define outbe16( port, val ) ... #define outle32( port, val ) ...
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
The out32() function writes the 32-bit value, specified by val, to the specified port.
The outbe32() and outle32() functions macros the native-endian 32-bit value, specified by val, to the specified port in big-endian or little-endian format, respectively.
Safety: | |
---|---|
Cancellation point | No |
Interrupt handler | Yes |
Signal handler | Yes |
Thread | Yes |
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.
outbe16() and outle16() are implemented as macros.