in32(), inbe32(), inle32()

Read a 32-bit value from a port

Synopsis:

#include <hw/inout.h>

uint32_t in32( uintptr_t port );

#define inbe32 ( port ) ...

#define inle32 ( port ) ...

Since:

BlackBerry 10.0.0

Arguments:

port
The port you want to read the value from.

Library:

libc

Use the -l c option to qcc to link against this library. This library is usually included automatically.

Description:

The in32() function reads a 32-bit value from the specified port.

The inbe32() and inle32() macros read a 32-bit value that's in big-endian or little-endian format, respectively, from the specified port, and returns the value as native-endian.

The inbe32() and inle32() macros access the specified port more than once if endian conversion is necessary. This could be a problem on some hardware.

Returns:

A 32-bit value in native-endian.

Classification:

QNX Neutrino

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.

Both inbe32() and inle32() are implemented as macros.

Last modified: 2014-06-24



Got questions about leaving a comment? Get answers from our Disqus FAQ.

comments powered by Disqus