Handle Management Types
This section contains descriptions of the handle management types.
In this section:
HANDLE
SpaceShadow documentation
About SpaceShadow products
Architecture dependencies
Creating a port files
API File Template
Types File Template
Time management
Constants
AR_TIME_IGNORE
AR_TIME_INFINITE
AR_TICKS_PER_SECOND
Functions
arGetTickCount
Types
TIME
Context switching
Functions
arCreateTaskContext
arLock
arReleaseTaskContext
arRestore
arSavePower
arSetPreemptiveHandler
arYield
Types
TPreemptiveProc
TTaskContext
TTaskStartupProc
Constants
AR_LENDIAN_CPU
AR_MEMORY_ALIGNMENT
AR_UNDEFINED_INDEX
FALSE
NULL
TRUE
Modifiers
CALLBACK
FAR
INLINE
NEAR
Configuration
AR_USE_64_BIT
AR_USE_DEINIT_FUNC
Functions
arDeinit
arInit
Macros
AR_MEMORY_ALIGN_UP
AR_UNUSED_PARAM
Types
BOOL
INDEX
INT8
INT16
INT32
INT64
LONG
PSTR
PVOID
SIZE
UINT8
UINT16
UINT32
UINT64
ULONG
Ports
ARM
Generic ARM
AT91SAM7S
80x86
80x86 Real Mode
Virtual Devices
WIN32
Standard Library
Byte ordering
Examples
Using byte ordering
Configuration
ST_IS_LENDIAN_CPU_FUNC
ST_USE_ENDIANS
Functions
stIsLEndianCPU
stSwap16
stSwap32
stSwap64
Macros
stBEToCPU16
stBEToCPU32
stBEToCPU64
stCPUToBE16
stCPUToBE32
stCPUToBE64
stCPUToLE16
stCPUToLE32
stCPUToLE64
stLEToCPU16
stLEToCPU32
stLEToCPU64
Error codes management
Error codes list
Examples
Managing error codes
Functions
stGetLastError
stSetLastError
Types
ERROR
Handle management
Configuration
ST_HANDLE_CHECK_FUNC
ST_MAX_HANDLE_COUNT
ST_USE_HANDLE
Constants
NULL_HANDLE
Functions
stHandleAlloc
stHandleCheck
stHandleRelease
stHandleInfo
stHandleInit
Types
HANDLE
Memory management
Examples
Memory pool initialization
Dynamic memory allocation
Using of many memories
Defining reserved memory areas
Configuration
ST_GET_MEMORY_INFO_FUNC
ST_MEMORY_EXPAND_FUNC
ST_USE_MEMORY
ST_USE_SAFE_MEMORY_FREE
Functions
stMemoryAlloc
stMemoryExpand
stMemoryFree
stMemoryGetInfo
stMemoryInit
Fixed size memory management
Examples
Fixed size memory pool initialization
Memory allocation
Configuration
ST_USE_FIXMEM
Functions
stFixedMemAlloc
stFixedMemFree
stFixedMemInit
Alternative C library
Examples
Dynamic memory allocation
Obtaining memory information
Memory movement
Using string functions
Configuration
ST_MALLOC_BASE_ADDRESS
ST_MALLOC_BUFFERED
ST_MALLOC_SIZE
ST_USE_MALLOC_CLIB
ST_USE_MEMORY_CLIB
ST_USE_STRING_CLIB
Functions
stMemAlloc
stMemCmp
stMemCpy
stMemFree
stMemSet
stStrCat
stStrCmp
stStrCpy
stStrICmp
stStrLen
stStrNCat
stStrNCmp
stStrNCpy
stStrNICmp
stStrUpr
Variables
stMemoryPool
Examples
Initializing standard library
Functions
stInit
Operating System Kernel
Real-time performance
Scheduling
Synchronization
Interprocess communication
Interrupts
System objects management
System objects
Tasks
Examples
Creating a task
Task suspending and resuming
Using priority and time quanta
Task statistics
Obtaining task exit code
Configuration
OS_DEFAULT_TASK_STACK_SIZE
OS_GET_TASK_HANDLE_FUNC
OS_GET_TASK_STAT_FUNC
OS_SUSP_RES_TASK_FUNC
OS_TASK_EXIT_CODE_FUNC
OS_TASK_PRIORITY_FUNC
OS_TASK_QUANTUM_FUNC
OS_TERMINATE_TASK_FUNC
Functions
osCreateTask
osExitTask
osGetTaskExitCode
osGetTaskHandle
osGetTaskPriority
osGetTaskQuantum
osGetTaskStat
osResumeTask
osSetTaskPriority
osSetTaskQuantum
osSuspendTask
osTerminateTask
Types
TTaskProc
Mutexes
Examples
Controlling critical section
Avoiding priority inversion
Deadlock detection
Configuration
OS_OPEN_MUTEX_FUNC
OS_USE_MUTEX
Functions
osCreateMutex
osOpenMutex
osReleaseMutex
Semaphores
Examples
Using a semaphore
Configuration
OS_OPEN_SEMAPHORE_FUNC
OS_USE_SEMAPHORE
Functions
osCreateSemaphore
osOpenSemaphore
osReleaseSemaphore
Counting semaphores
Examples
Using a counting semaphore
Configuration
OS_OPEN_CNT_SEM_FUNC
OS_USE_CNT_SEM
Functions
osCreateCountSem
osOpenCountSem
osReleaseCountSem
Events
Examples
Using an auto-reset event
Using a manual-reset event
Configuration
OS_OPEN_EVENT_FUNC
OS_USE_EVENT
Functions
osCreateEvent
osOpenEvent
osResetEvent
osSetEvent
Timers
Examples
Using an auto-reset timer
Using a manual-reset timer
Configuration
OS_OPEN_TIMER_FUNC
OS_USE_TIMER
Functions
osCancelTimer
osCreateTimer
osOpenTimer
osResetTimer
osSetTimer
Shared memories
Examples
Using a shared memory
Configuration
OS_GET_SH_MEM_ADDRESS_FUNC
OS_OPEN_SH_MEM_FUNC
OS_SH_MEM_PROTECT_MUTEX
OS_USE_SHARED_MEM
Functions
osCreateSharedMemory
osGetSharedMemoryAddress
osOpenSharedMemory
osReleaseSharedMemory
Queue of pointers
Examples
Using a queue of pointers
Configuration
OS_OPEN_PTR_QUEUE_FUNC
OS_PTR_QUEUE_CLEAR_FUNC
OS_PTR_QUEUE_PEEK_FUNC
OS_USE_PTR_QUEUE
Functions
osClearPtrQueue
osCreatePtrQueue
osOpenPtrQueue
osPtrQueuePeek
osPtrQueuePend
osPtrQueuePost
Streams
Examples
Using a stream
Configuration
OS_OPEN_STREAM_FUNC
OS_STREAM_ALLOW_DIRECT_RW
OS_STREAM_ALLOW_WAIT_IF_EMPTY
OS_STREAM_ALLOW_WAIT_IF_FULL
OS_STREAM_PROTECT_EVENT
OS_STREAM_PROTECT_MUTEX
OS_USE_STREAM
Functions
osCreateStream
osOpenStream
Queues
Examples
Using a queue
Configuration
OS_OPEN_QUEUE_FUNC
OS_QUEUE_ALLOW_DIRECT_RW
OS_QUEUE_ALLOW_WAIT_IF_EMPTY
OS_QUEUE_ALLOW_WAIT_IF_FULL
OS_QUEUE_CLEAR_FUNC
OS_QUEUE_PEEK_FUNC
OS_QUEUE_POST_PEND_FUNC
OS_QUEUE_PROTECT_EVENT
OS_QUEUE_PROTECT_MUTEX
OS_USE_QUEUE
Functions
osClearQueue
osCreateQueue
osOpenQueue
osQueuePeek
osQueuePend
osQueuePost
Mailboxes
Examples
Using a mailbox
Simultaneous access synchronization
Configuration
OS_MBOX_ALLOW_DIRECT_RW
OS_MBOX_ALLOW_WAIT_IF_EMPTY
OS_MBOX_CLEAR_FUNC
OS_MBOX_GET_INFO_FUNC
OS_MBOX_PEEK_FUNC
OS_MBOX_POST_PEND_FUNC
OS_MBOX_PROTECT_EVENT
OS_MBOX_PROTECT_MUTEX
OS_OPEN_MBOX_FUNC
OS_USE_MAILBOX
Functions
osClearMailbox
osCreateMailbox
osGetMailboxInfo
osMailboxPeek
osMailboxPend
osMailboxPost
osOpenMailbox
Flags
Examples
Using a flags
Configuration
OS_OPEN_FLAGS_FUNC
OS_USE_FLAGS
Functions
osCreateFlags
osGetFlags
osOpenFlags
osResetFlags
osSetFlags
Using the operating system
Starting the operating system
Error codes management
System memory management
System configuration
Examples
Hello world
Resuming task from interrupt
Using event from interrupt
CPU usage
Defining printf function for multitasking system
Constants
OS_IGNORE
OS_INFINITE
OS_IPC_DIRECT_READ_WRITE
OS_IPC_PROTECT_EVENT
OS_IPC_PROTECT_INT_CTRL
OS_IPC_PROTECT_MUTEX
OS_IPC_WAIT_IF_EMPTY
OS_IPC_WAIT_IF_FULL
Configuration
OS_ALLOW_OBJECT_DELETION
OS_FIX_POOL0_ITEM_SIZE
OS_FIX_POOL0_SIZE
OS_FIX_POOL1_ITEM_SIZE
OS_FIX_POOL1_SIZE
OS_FIX_POOL2_ITEM_SIZE
OS_FIX_POOL2_SIZE
OS_FIX_POOL3_ITEM_SIZE
OS_FIX_POOL3_SIZE
OS_DEINIT_FUNC
OS_GET_SYSTEM_STAT_FUNC
OS_IDLE_STACK_SIZE
OS_INTERNAL_MEMORY_SIZE
OS_LOWEST_USED_PRIORITY
OS_MAX_WAIT_FOR_OBJECTS
OS_OPEN_BY_HANDLE_FUNC
OS_READ_WRITE_FUNC
OS_RESUME_IMMEDIATELY
OS_STACK_SIZE
OS_STAT_SAMPLE_RATE
OS_STOP_FUNC
OS_SYS_OBJECT_MAX_NAME_LEN
OS_USE_FIXMEM_POOLS
OS_USE_WAITING_WITH_TIME_OUT
OS_USED
Functions
osCloseHandle
osDeinit
osEnterISR
osGetLastError
osGetSystemStat
osInit
osLeaveISR
osOpenByHandle
osRead
osSetLastError
osSleep
osStart
osStop
osWaitForObject
osWaitForObjects
osWrite
Types
SYSNAME
TIORequest