Operating System API. More...
Modules | |
System Initialization | |
Nut/OS initialization. | |
System Configuration | |
Nut/OS configuration structure. | |
Thread Management | |
Cooperative multi-threading support. | |
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: | |
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_BOTTOM_ALIGN | ( | s | ) | ((s) & ~(NUTMEM_ALIGNMENT - 1)) |
Return the next lower aligned value.
Definition at line 194 of file types.h.
Referenced by NutHeapRootAdd().
#define NUTMEM_TOP_ALIGN | ( | s | ) | NUTMEM_BOTTOM_ALIGN((s + (NUTMEM_ALIGNMENT - 1))) |
Return the next higher aligned value.
Definition at line 199 of file types.h.
Referenced by NutHeapRootAdd(), NutHeapRootAlloc(), and NutHeapRootRealloc().
#define __byte_swap2 | ( | val | ) |
#define __byte_swap4 | ( | val | ) |
#define htons | ( | x | ) | __byte_swap2(x) |
Convert short value from host to network byte order.
Definition at line 331 of file types.h.
Referenced by LcpTxProtRej(), NutArpAllocNetBuf(), NutArpInput(), NutEtherOutput(), NutIpcpInput(), NutIpcpOutput(), NutIpInput(), NutIpOutput(), NutLcpInput(), NutLcpOutput(), NutPapInput(), NutPapOutput(), NutPppOutput(), NutTcpAccept(), NutTcpConnect(), NutTcpOutput(), NutTcpReject(), NutUdpCreateSocket(), NutUdpOutput(), NutUdpReceiveFrom(), and NutWinsNameQuery().
#define htonl | ( | x | ) | __byte_swap4(x) |
Convert long value from host to network byte order.
Definition at line 340 of file types.h.
Referenced by LcpTxConfReq(), NutIpOutput(), NutTcpOutput(), NutTcpReject(), and NutWinsNameQuery().
#define ntohs | ( | x | ) | __byte_swap2(x) |
Convert short value from network to host byte order.
Definition at line 349 of file types.h.
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.
Definition at line 358 of file types.h.
Referenced by NutDumpLcpOption(), NutDumpTcpHeader(), NutSNTPGetTime(), NutTcpOutput(), and NutTcpReject().
typedef unsigned char u_char |
typedef unsigned long long u_longlong |
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 |