out32(), outbe32(), outle32()
QNX SDP8.0C Library ReferenceAPIDeveloper
Write a 32-bit value to a port
Synopsis:
#include <hw/inout.h>
void out32( uintptr_t port,
uint32_t val );
#define outbe16( port,
val ) ...
#define outle32( port,
val ) ...
Arguments:
- port
- The port you want to write the value to.
- val
- The value that you want to write.
Library:
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
Description:
The out32() function writes the 32-bit value, specified by val, to the specified port.
The outbe32() and outle32() macros write the native-endian 32-bit value, specified by val, to the specified port in big-endian or little-endian format, respectively.
Note:
The in*() and out*() functions are for accessing legacy
devices on x86_64 systems that still use legacy I/O-addressed I/O ports, and should not be used in any
other context.
The process must have the PROCMGR_AID_IO ability enabled, and the calling thread must have I/O privileges, or else it will fault with a SIGSEGV; see procmgr_ability(), and the ThreadCtl() _NTO_TCTL_IO_LEVEL command.
Classification:
Safety: | |
---|---|
Cancellation point | No |
Signal handler | Yes |
Thread | Yes |
Caveats:
Both outbe16() and outle16() are implemented as macros.
Page updated: