SDK4.0
This document shows Ameba SDK 4.0 APIs
|
This file provides the OS dependent API. More...
#include <stdio.h>
#include "platform_autoconf.h"
Data Structures | |
struct | timer_list |
struct | task_struct |
struct | rtw_worker_thread_t |
struct | rtw_event_message_t |
struct | worker_timer_entry |
struct | osdep_service_ops |
Macros | |
#define | CONFIG_LITTLE_ENDIAN |
#define | CONFIG_PLATFORM_AMEBA_X |
#define | CONFIG_USE_TCM_HEAP 1 /* USE TCM HEAP */ |
#define | USE_MUTEX_FOR_SPINLOCK 1 |
#define | CONFIG_MEM_MONITOR MEM_MONITOR_SIMPLE |
#define | RTW_MAX_DELAY 0xFFFFFFFF |
#define | RTW_WAIT_FOREVER 0xFFFFFFFF |
#define | OS_SCHEDULER_NOT_STARTED 0 |
Definitions returned by xTaskGetSchedulerState(). | |
#define | OS_SCHEDULER_RUNNING 1 |
#define | OS_SCHEDULER_SUSPENDED 2 |
#define | CONFIG_THREAD_COMM_SEMA |
#define | MEM_MONITOR_SIMPLE 0x1 |
#define | MEM_MONITOR_LEAK 0x2 |
#define | MEM_MONITOR_FLAG_WIFI_DRV 0x1 |
#define | MEM_MONITOR_FLAG_WPAS 0x2 |
#define | rtw_free(buf) rtw_mfree((u8 *)buf, 0) |
#define | rtw_warn_on(condition) do {} while (0) |
#define | LIST_CONTAINOR(ptr, type, member) ((type *)((char *)(ptr)-(SIZE_T)((char *)&((type *)ptr)->member - (char *)ptr))) |
#define | time_after(a, b) ((long)(b) - (long)(a) < 0) |
#define | time_before(a, b) time_after(b,a) |
#define | time_after_eq(a, b) ((long)(a) - (long)(b) >= 0) |
#define | time_before_eq(a, b) time_after_eq(b,a) |
#define | _RND(sz, r) ((((sz)+((r)-1))/(r))*(r)) |
#define | RND4(x) (((x >> 2) + (((x & 3) == 0) ? 0: 1)) << 2) |
#define | RTW_GET_BE16(a) ((u16) (((a)[0] << 8) | (a)[1])) |
#define | RTW_PUT_BE16(a, val) |
#define | RTW_GET_LE16(a) ((u16) (((a)[1] << 8) | (a)[0])) |
#define | RTW_PUT_LE16(a, val) |
#define | RTW_GET_BE24(a) |
#define | RTW_PUT_BE24(a, val) |
#define | RTW_GET_BE32(a) |
#define | RTW_PUT_BE32(a, val) |
#define | RTW_GET_LE32(a) |
#define | RTW_PUT_LE32(a, val) |
#define | RTW_GET_BE64(a) |
#define | RTW_PUT_BE64(a, val) |
#define | RTW_GET_LE64(a) |
Typedefs | |
typedef thread_return(* | thread_func_t) (thread_context context) |
typedef void(* | TIMER_FUN) (void *context) |
typedef int(* | event_handler_t) (char *buf, int buf_len, int flags, void *user_data) |
Functions | |
void | init_mem_monitor (_list *pmem_table, int *used_num) |
This function initializes a memory table. More... | |
void | deinit_mem_monitor (_list *pmem_table, int *used_num) |
This function deinitializes a memory table. More... | |
void | add_mem_usage (_list *pmem_table, void *ptr, int size, int *used_num, int flag) |
This function alloc mem_entry to the memory table. More... | |
void | del_mem_usage (_list *pmem_table, void *ptr, int *used_num, int flag) |
This function frees memory from the memory table. More... | |
int | get_mem_usage (_list *pmem_table) |
This function get the memory usage of a memory table. More... | |
u8 * | _rtw_vmalloc (u32 sz) |
u8 * | _rtw_zvmalloc (u32 sz) |
void | _rtw_vmfree (u8 *pbuf, u32 sz) |
u8 * | _rtw_zmalloc (u32 sz) |
u8 * | _rtw_malloc (u32 sz) |
void | _rtw_mfree (u8 *pbuf, u32 sz) |
u8 * | rtw_vmalloc (u32 sz) |
This function allocates the virtually contiguous memory. More... | |
u8 * | rtw_zvmalloc (u32 sz) |
This function allocates the virtually contiguous memory and the values of the memory are setted to 0. More... | |
void | rtw_vmfree (u8 *pbuf, u32 sz) |
This function frees the virtually contiguous memory. More... | |
u8 * | rtw_zmalloc (u32 sz) |
This function allocates the memory and the values of the memory are setted to 0. More... | |
u8 * | rtw_malloc (u32 sz) |
This function allocates the memory. More... | |
void | rtw_mfree (u8 *pbuf, u32 sz) |
This function frees the virtually contiguous memory. More... | |
void * | rtw_malloc2d (int h, int w, int size) |
This function allocates a 2 dimensional array memory. More... | |
void | rtw_mfree2d (void *pbuf, int h, int w, int size) |
This function deallocates the block of memory previously allocated to make it available again. More... | |
void | rtw_memcpy (void *dst, void *src, u32 sz) |
This function copies the values of "sz" bytes from the location pointed to by "src" directly to the memory block pointed to by "des". More... | |
int | rtw_memcmp (void *dst, void *src, u32 sz) |
This function compares the first "sz" bytes of the block of memory pointed by "dst" to the first "sz" bytes pointed by "src". More... | |
void | rtw_memset (void *pbuf, int c, u32 sz) |
This function sets the first "sz" bytes of the block of memory pointed by "pbuf" to the specified "c". More... | |
void | rtw_init_listhead (_list *list) |
This function initializes the head of the list. More... | |
u32 | rtw_is_list_empty (_list *phead) |
This function tests whether a list is empty. More... | |
void | rtw_list_insert_head (_list *plist, _list *phead) |
This function adds a new entry after "phead" for the list. More... | |
void | rtw_list_insert_tail (_list *plist, _list *phead) |
This function adds a new entry before "phead" for the list. More... | |
void | rtw_list_delete (_list *plist) |
This function deletes entry from list and reinitialize it. More... | |
void | rtw_init_sema (_sema *sema, int init_val) |
This function initializes the unnamed semaphore referred to by "sema" to the value "init_val". More... | |
void | rtw_free_sema (_sema *sema) |
This function deletes the semaphore. More... | |
void | rtw_up_sema (_sema *sema) |
This function releases the semaphore. This macro must not be used from an ISR. More... | |
void | rtw_up_sema_from_isr (_sema *sema) |
This function releases the semaphore. This macro can be used from an ISR. More... | |
u32 | rtw_down_sema (_sema *sema) |
This function acquires the semaphore. If no more tasks are allowed to acquire the semaphore, calling this function will put the task to sleep until the semaphore is up. More... | |
u32 | rtw_down_timeout_sema (_sema *sema, u32 timeout) |
This function acquires the semaphore. If no more tasks are allowed to acquire the semaphore, calling this function will put the task to sleep until the semaphore is up. More... | |
void | rtw_mutex_init (_mutex *pmutex) |
This function implements a mutex semaphore by using the existing queue mechanism. More... | |
void | rtw_mutex_free (_mutex *pmutex) |
This function deletes the mutex semaphore. More... | |
void | rtw_mutex_put (_mutex *pmutex) |
This function releases a mutex semaphore. More... | |
void | rtw_mutex_get (_mutex *pmutex) |
This function obtains a mutex semaphore. More... | |
int | rtw_mutex_get_timeout (_mutex *pmutex, u32 timeout_ms) |
This function obtains a mutex semaphore with a timeout setting. More... | |
void | rtw_enter_critical (_lock *plock, _irqL *pirqL) |
This function marks the start of a critical code region. Preemptive context switches cannot occur when in a critical region. More... | |
void | rtw_exit_critical (_lock *plock, _irqL *pirqL) |
This function marks end of a critical code region. Preemptive context switches cannot occur when in a critical region. More... | |
void | rtw_enter_critical_from_isr (_lock *plock, _irqL *pirqL) |
This function marks the start of a critical code region from isr. More... | |
void | rtw_exit_critical_from_isr (_lock *plock, _irqL *pirqL) |
This function marks the end of a critical code region from isr. More... | |
void | rtw_enter_critical_bh (_lock *plock, _irqL *pirqL) |
This function obtains a spin lock semaphore. More... | |
void | rtw_exit_critical_bh (_lock *plock, _irqL *pirqL) |
This function releases a spin lock semaphore. More... | |
int | rtw_enter_critical_mutex (_mutex *pmutex, _irqL *pirqL) |
This function obtains a semaphore. More... | |
void | rtw_exit_critical_mutex (_mutex *pmutex, _irqL *pirqL) |
This function releases a semaphore. More... | |
void | rtw_spinlock_init (_lock *plock) |
This function implements a spin lock semaphore by using the existing queue mechanism. More... | |
void | rtw_spinlock_free (_lock *plock) |
This function deletes the spin lock semaphore. More... | |
void | rtw_spin_lock (_lock *plock) |
This function obtains a spin lock semaphore. More... | |
void | rtw_spin_unlock (_lock *plock) |
This function releases a spin lock semaphore. More... | |
void | rtw_spinlock_irqsave (_lock *plock, _irqL *irqL) |
This function marks the start of a critical code region and obtains a spin lock semaphore. More... | |
void | rtw_spinunlock_irqsave (_lock *plock, _irqL *irqL) |
This function releases a spin lock semaphore and marks the end of a critical code region. More... | |
int | rtw_init_xqueue (_xqueue *queue, const char *name, u32 message_size, u32 number_of_messages) |
This function creates a new queue instance. More... | |
int | rtw_push_to_xqueue (_xqueue *queue, void *message, u32 timeout_ms) |
This function posts a message to the back of a queue. The message is queued by copy, not by reference. More... | |
int | rtw_pop_from_xqueue (_xqueue *queue, void *message, u32 timeout_ms) |
This function receives a message from a queue. The message is recieved by copy so a buffer adequate size must be provided. More... | |
int | rtw_deinit_xqueue (_xqueue *queue) |
Delete a queue - freeing all the memory allocated for storing of messages placed on the queue. More... | |
void | rtw_init_queue (_queue *pqueue) |
This function creates a new queue instance. More... | |
void | rtw_deinit_queue (_queue *pqueue) |
u32 | rtw_is_queue_empty (_queue *pqueue) |
u32 | rtw_queue_empty (_queue *pqueue) |
This function tests whether the queue is empty. More... | |
u32 | rtw_end_of_queue_search (_list *queue, _list *pelement) |
This function tests whether the "pelement" is at the "queue". More... | |
_list * | rtw_get_queue_head (_queue *queue) |
u32 | rtw_get_current_time (void) |
Get the count of ticks since the vTaskStartScheduler was called. More... | |
u32 | rtw_systime_to_ms (u32 systime) |
Convert system time to milliseconds. More... | |
u32 | rtw_systime_to_sec (u32 systime) |
Convert system time to seconds. More... | |
u32 | rtw_ms_to_systime (u32 ms) |
Convert milliseconds to system time. More... | |
u32 | rtw_sec_to_systime (u32 sec) |
Convert seconds to system time. More... | |
s32 | rtw_get_passing_time_ms (u32 start) |
Get the passing time from the "start" in milliseconds. More... | |
s32 | rtw_get_time_interval_ms (u32 start, u32 end) |
Get the interval time from the "start" to "end" in milliseconds. More... | |
void | rtw_msleep_os (int ms) |
This function suspends execution of the calling thread for "ms" milliseconds. More... | |
void | rtw_usleep_os (int us) |
This function suspends execution of the calling thread for "us" microseconds. More... | |
u32 | rtw_atoi (u8 *s) |
This function converts the initial portion of the string to integer. More... | |
void | rtw_mdelay_os (int ms) |
This function delays a task for the giving time in milliseconds. More... | |
void | rtw_udelay_os (int us) |
This function delays a task for the giving time in microseconds. More... | |
void | rtw_yield_os (void) |
This function for forcing a context switch. More... | |
void | ATOMIC_SET (ATOMIC_T *v, int i) |
This function atomically sets the value of the variable. More... | |
int | ATOMIC_READ (ATOMIC_T *v) |
This function atomically reads the value of the variable. More... | |
void | ATOMIC_ADD (ATOMIC_T *v, int i) |
This function adds "i" to the contained "v". More... | |
void | ATOMIC_SUB (ATOMIC_T *v, int i) |
This function subtracts "i" from th econtained "v". More... | |
void | ATOMIC_INC (ATOMIC_T *v) |
This function adds 1 to the contained "v". More... | |
void | ATOMIC_DEC (ATOMIC_T *v) |
This function subtracts 1 from th econtained "v". More... | |
int | ATOMIC_ADD_RETURN (ATOMIC_T *v, int i) |
This function adds "i" to the contained "v" and returns the result. More... | |
int | ATOMIC_SUB_RETURN (ATOMIC_T *v, int i) |
This function subtracts "i" from th econtained "v" and returns the result. More... | |
int | ATOMIC_INC_RETURN (ATOMIC_T *v) |
This function adds 1 to the contained "v" and returns the result. More... | |
int | ATOMIC_DEC_RETURN (ATOMIC_T *v) |
This function subtracts 1 from th econtained "v" and returns the result. More... | |
int | ATOMIC_DEC_AND_TEST (ATOMIC_T *v) |
This function subtracts 1 from th econtained "v" and test if the result equals 0. More... | |
u64 | rtw_modular64 (u64 x, u64 y) |
int | rtw_get_random_bytes (void *dst, u32 size) |
This function generates random bytes. More... | |
u32 | rtw_getFreeHeapSize (void) |
This function gets the available heap size. More... | |
void | flush_signals_thread (void) |
void | rtw_acquire_wakelock (void) |
This function indicates that the WLAN needs to stay on which means cannot go into power saving mode. More... | |
void | rtw_release_wakelock (void) |
This function indicates that the WLAN does not need to stay on which means can go into power saving mode. More... | |
void | rtw_wakelock_timeout (u32 timeout) |
int | rtw_create_task (struct task_struct *task, const char *name, u32 stack_size, u32 priority, thread_func_t func, void *thctx) |
This function creates a new task and adds it to the list of tasks that are ready to run. More... | |
void | rtw_delete_task (struct task_struct *task) |
This function deletes a task. More... | |
void | rtw_wakeup_task (struct task_struct *task) |
This function wake up a task. More... | |
int | rtw_create_worker_thread (rtw_worker_thread_t *worker_thread, u8 priority, u32 stack_size, u32 event_queue_size) |
This function creates a new worker thread. More... | |
int | rtw_delete_worker_thread (rtw_worker_thread_t *worker_thread) |
This function deletes a worker thread. More... | |
void | rtw_thread_enter (char *name) |
This function prints the name of the thread in DBG_INFO. More... | |
void | rtw_thread_exit (void) |
This function exits the calling thread. More... | |
u8 | rtw_get_scheduler_state (void) |
This function gets the scheduler state of the calling thread. More... | |
_timerHandle | rtw_timerCreate (const signed char *pcTimerName, osdepTickType xTimerPeriodInTicks, u32 uxAutoReload, void *pvTimerID, TIMER_FUN pxCallbackFunction) |
This function creates a new software timer instance. More... | |
u32 | rtw_timerDelete (_timerHandle xTimer, osdepTickType xBlockTime) |
This function deletes a timer that was previously created using rtw_timerCreate. More... | |
u32 | rtw_timerIsTimerActive (_timerHandle xTimer) |
This function queries a timer to see if it is active or dormant. More... | |
u32 | rtw_timerStop (_timerHandle xTimer, osdepTickType xBlockTime) |
This function stops a timer that was previously started. More... | |
u32 | rtw_timerChangePeriod (_timerHandle xTimer, osdepTickType xNewPeriod, osdepTickType xBlockTime) |
This function changes the period of a timer that was previously created. More... | |
void * | rtw_timerGetID (_timerHandle xTimer) |
u32 | rtw_timerStart (_timerHandle xTimer, osdepTickType xBlockTime) |
u32 | rtw_timerStartFromISR (_timerHandle xTimer, osdepBASE_TYPE *pxHigherPriorityTaskWoken) |
u32 | rtw_timerStopFromISR (_timerHandle xTimer, osdepBASE_TYPE *pxHigherPriorityTaskWoken) |
u32 | rtw_timerResetFromISR (_timerHandle xTimer, osdepBASE_TYPE *pxHigherPriorityTaskWoken) |
u32 | rtw_timerChangePeriodFromISR (_timerHandle xTimer, osdepTickType xNewPeriod, osdepBASE_TYPE *pxHigherPriorityTaskWoken) |
u32 | rtw_timerReset (_timerHandle xTimer, osdepTickType xBlockTime) |
This file provides the OS dependent API.
This module is a confidential and proprietary property of RealTek and possession or use of this module requires written permission of RealTek.
Copyright(c) 2016, Realtek Semiconductor Corporation. All rights reserved.