Operating System API. More...
Modules | |
System Initialization | |
Nut/OS initialization. | |
System Configuration | |
Nut/OS configuration structure. | |
Event Management | |
Thread synchronization support. | |
Timer Management | |
Asynchronous timer support. | |
Memory Management | |
Dynamic memory management. | |
Device Management | |
Device driver support. | |
Interrupt Management | |
Interrupt support. | |
Version Information | |
Nut/OS version number. | |
Application Candies | |
In order to keep the kernel clean and small, it uses very basic functions only: | |
Thread Management | |
Cooperative multi-threading support. | |
Defines | |
#define | NUTMEM_ALIGNMENT sizeof(int) |
#define | NUTMEM_BOTTOM_ALIGN(s) ((s) & ~(NUTMEM_ALIGNMENT - 1)) |
Return the next lower aligned value. | |
#define | NUTMEM_TOP_ALIGN(s) NUTMEM_BOTTOM_ALIGN((s + (NUTMEM_ALIGNMENT - 1))) |
Return the next higher aligned value. | |
#define | __byte_swap2(val) |
#define | __byte_swap4(val) |
#define | htons(x) __byte_swap2(x) |
Convert short value from host to network byte order. | |
#define | htonl(x) __byte_swap4(x) |
Convert long value from host to network byte order. | |
#define | ntohs(x) __byte_swap2(x) |
Convert short value from network to host byte order. | |
#define | ntohl(x) __byte_swap4(x) |
Convert long value from network to host byte order. | |
Typedefs | |
typedef unsigned char | u_char |
Unsigned 8-bit value. | |
typedef unsigned short | u_short |
Unsigned 16-bit value. | |
typedef unsigned int | u_int |
Unsigned int value. | |
typedef unsigned long | u_long |
Unsigned 32-bit value. | |
typedef unsigned long long | u_longlong |
Unsigned 64-bit value. | |
typedef void * | HANDLE |
Void pointer. | |
typedef unsigned short | ureg_t |
Unsigned register type. | |
typedef unsigned short | reg_t |
Signed register type. | |
typedef unsigned __PTRDIFF_TYPE__ | uptr_t |
Unsigned pointer value type. |
Operating System API.
This API supports the following features:
#define NUTMEM_ALIGNMENT sizeof(int) |
#define NUTMEM_BOTTOM_ALIGN | ( | s | ) | ((s) & ~(NUTMEM_ALIGNMENT - 1)) |
Return the next lower aligned value.
Referenced by NutHeapRootAdd().
#define NUTMEM_TOP_ALIGN | ( | s | ) | NUTMEM_BOTTOM_ALIGN((s + (NUTMEM_ALIGNMENT - 1))) |
Return the next higher aligned value.
Referenced by NutHeapRootAdd(), NutHeapRootAlloc(), and NutHeapRootRealloc().
#define __byte_swap2 | ( | val | ) |
((((val) & 0xff) << 8) | \ (((val) & 0xff00) >> 8))
#define __byte_swap4 | ( | val | ) |
((((val) & 0xff) << 24) | \ (((val) & 0xff00) << 8) | \ (((val) & 0xff0000) >> 8) | \ (((val) & 0xff000000) >> 24))
#define htons | ( | x | ) | __byte_swap2(x) |
Convert short value from host to network byte order.
Referenced by LcpTxProtRej(), NutArpAllocNetBuf(), NutArpInput(), NutEtherOutput(), NutIpcpInput(), NutIpcpOutput(), NutIpInput(), NutIpOutput(), NutLcpInput(), NutLcpOutput(), NutPapInput(), NutPapOutput(), NutPppOutput(), NutTcpAccept(), NutTcpConnect(), NutTcpOutput(), NutTcpReject(), NutUdpCreateSocket(), NutUdpOutput(), NutUdpReceiveFrom(), NutWinsNameQuery(), and StreamClientAccept().
#define htonl | ( | x | ) | __byte_swap4(x) |
Convert long value from host to network byte order.
Referenced by LcpTxConfReq(), main(), NutIpOutput(), NutTcpOutput(), NutTcpReject(), NutWinsNameQuery(), and StreamClientAccept().
#define ntohs | ( | x | ) | __byte_swap2(x) |
Convert short value from network to host byte order.
Referenced by NutArpInput(), NutDumpIpcp(), NutDumpLcp(), NutDumpLcpOption(), NutDumpPap(), NutDumpPpp(), NutDumpSocketList(), NutEtherInput(), NutIpInput(), NutPppInput(), NutUdpError(), and NutWinsNameQuery().
#define ntohl | ( | x | ) | __byte_swap4(x) |
Convert long value from network to host byte order.
Referenced by main(), NutDumpLcpOption(), NutDumpTcpHeader(), NutSNTPGetTime(), NutTcpOutput(), and NutTcpReject().
typedef unsigned char u_char |
typedef unsigned short u_short |
Unsigned 16-bit value.
typedef unsigned int u_int |
Unsigned int value.
typedef unsigned long u_long |
Unsigned 32-bit value.
typedef unsigned long long u_longlong |
Unsigned 64-bit value.
typedef void* HANDLE |
Void pointer.
typedef unsigned short ureg_t |
Unsigned register type.
The size of this type is equal to the size of a register, the hardware datapath or whatever might fit to give optimum performance for values from 0 to 255.
Typically 8 bit CPUs will use unsigned characters, 16 bit CPUs will use unsigned shorts etc.
typedef unsigned short reg_t |
Signed register type.
Similar to ureg_t, but for signed values from -128 to +127.
typedef unsigned __PTRDIFF_TYPE__ uptr_t |
Unsigned pointer value type.
The size of this type is at least the size of a memory pointer. For CPUs with 16 address bits this will be an unsigned short.