NAME | SYNOPSIS | API RESTRICTIONS | FEATURES | DESCRIPTION | EXTENDED DESCRIPTION | Allowed Calling Contexts | ATTRIBUTES | SEE ALSO
#include <dki/dki.h>uint16_f loadSwap_16(uint16_f * addr);
The function or functions documented here may not be used safely in all application contexts with all APIs provided in the ChorusOS 5.0 product.
See API(5FEA) for details.
DKI
This function provides DKI routines to handle different byte ordering between the processor bus and the host bus.
These services are intended to be used by a host bus driver to handle different byte ordering between the processor bus and the host bus. Specific I/O services are defined below as sets of routines, where the _xx suffix indicates the bit length of the data on which the service applies. This suffix may take one of the following values:
for 16-bit data
for 32-bit data
for 64-bit data
loadSwap_xx() loads data from a given address and returns the corresponding byte swapped value. The addr argument specifies the address from which to read.
storeSwap_xx() stores the value byte swapped into a given address. The addr argument specifies the address to which to write.
swap_xx swaps in place the bytes of the data stored at a given address. The addr argument specifies the address of the data to byte-swap.
The following table specifies the contexts in which a caller is allowed to invoke each service:
Services | Base level | DKI thread | Interrupt | Blocking |
loadSwap_xx() | + | + | + | - |
storeSwap_xx() | + | + | + | - |
swap_xx() | + | + | + | - |
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
---|---|
Interface Stability | Evolving |
NAME | SYNOPSIS | API RESTRICTIONS | FEATURES | DESCRIPTION | EXTENDED DESCRIPTION | Allowed Calling Contexts | ATTRIBUTES | SEE ALSO