Release 6.1.10
This commit is contained in:
@@ -26,7 +26,7 @@
|
||||
/* APPLICATION INTERFACE DEFINITION RELEASE */
|
||||
/* */
|
||||
/* txm_module.h PORTABLE C */
|
||||
/* 6.1.3 */
|
||||
/* 6.1.10 */
|
||||
/* AUTHOR */
|
||||
/* */
|
||||
/* Scott Larson, Microsoft Corporation */
|
||||
@@ -44,6 +44,9 @@
|
||||
/* 12-31-2020 Scott Larson Modified comment(s), added */
|
||||
/* port-specific extension, */
|
||||
/* resulting in version 6.1.3 */
|
||||
/* 01-31-2022 Scott Larson Modified comment(s), added */
|
||||
/* callback thread prototype, */
|
||||
/* resulting in version 6.1.10 */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
|
||||
@@ -64,23 +67,23 @@
|
||||
|
||||
#ifdef TXM_MODULE_ENABLE_FILEX
|
||||
#include "txm_module_filex.h"
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef TXM_MODULE_ENABLE_GUIX
|
||||
#include "txm_module_guix.h"
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef TXM_MODULE_ENABLE_NETX
|
||||
#include "txm_module_netx.h"
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef TXM_MODULE_ENABLE_NETXDUO
|
||||
#include "txm_module_netxduo.h"
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef TXM_MODULE_ENABLE_USBX
|
||||
#include "txm_module_usbx.h"
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef FX_FILEX_PRESENT
|
||||
@@ -157,7 +160,7 @@ extern "C" {
|
||||
/* Define each module's callback queue depth. This is used to queue up incoming call back requests. */
|
||||
|
||||
#ifndef TXM_MODULE_CALLBACKS_QUEUE_DEPTH
|
||||
#define TXM_MODULE_CALLBACKS_QUEUE_DEPTH 8 /* Number queued callback requests. */
|
||||
#define TXM_MODULE_CALLBACKS_QUEUE_DEPTH 8 /* Number queued callback requests. */
|
||||
#endif
|
||||
|
||||
|
||||
@@ -367,7 +370,7 @@ typedef struct TXM_MODULE_PREAMBLE_STRUCT
|
||||
ULONG txm_module_preamble_property_flags; /* Properties Bit Map */
|
||||
ULONG txm_module_preamble_shell_entry_function; /* Module shell Entry Function */
|
||||
ULONG txm_module_preamble_start_function; /* Module Thread Start Function */
|
||||
ULONG txm_module_preamble_stop_function; /* Module Thread Stop Function */
|
||||
ULONG txm_module_preamble_stop_function; /* Module Thread Stop Function */
|
||||
ULONG txm_module_preamble_start_stop_priority; /* Module Start/Stop Thread Priority */
|
||||
ULONG txm_module_preamble_start_stop_stack_size; /* Module Start/Stop Thread Priority */
|
||||
ULONG txm_module_preamble_callback_function; /* Module Callback Thread Function */
|
||||
@@ -448,10 +451,10 @@ typedef struct TXM_MODULE_INSTANCE_STRUCT
|
||||
VOID (*txm_module_instance_start_thread_entry)(ULONG);
|
||||
VOID (*txm_module_instance_stop_thread_entry)(ULONG);
|
||||
VOID (*txm_module_instance_callback_request_thread_entry)(ULONG);
|
||||
|
||||
|
||||
/* Define the port extention to the module manager structure. */
|
||||
TXM_MODULE_MANAGER_PORT_EXTENSION
|
||||
|
||||
|
||||
TX_THREAD txm_module_instance_start_stop_thread;
|
||||
TX_THREAD txm_module_instance_callback_request_thread;
|
||||
TX_QUEUE txm_module_instance_callback_request_queue;
|
||||
@@ -462,7 +465,7 @@ typedef struct TXM_MODULE_INSTANCE_STRUCT
|
||||
ULONG txm_module_instance_callback_priority;
|
||||
ULONG txm_module_instance_application_module_id;
|
||||
UINT txm_module_instance_maximum_priority;
|
||||
|
||||
|
||||
/* Define the head pointer of the list of objects allocated by the module. */
|
||||
struct TXM_MODULE_ALLOCATED_OBJECT_STRUCT
|
||||
*txm_module_instance_object_list_head;
|
||||
@@ -470,11 +473,11 @@ typedef struct TXM_MODULE_INSTANCE_STRUCT
|
||||
|
||||
struct TXM_MODULE_INSTANCE_STRUCT
|
||||
*txm_module_instance_loaded_next,
|
||||
*txm_module_instance_loaded_previous;
|
||||
*txm_module_instance_loaded_previous;
|
||||
} TXM_MODULE_INSTANCE;
|
||||
|
||||
|
||||
/* Determine if the thread entry info control block has an extension defined. If not, define the extension to
|
||||
/* Determine if the thread entry info control block has an extension defined. If not, define the extension to
|
||||
whitespace. */
|
||||
|
||||
#ifndef TXM_MODULE_THREAD_ENTRY_INFO_USER_EXTENSION
|
||||
@@ -482,9 +485,9 @@ typedef struct TXM_MODULE_INSTANCE_STRUCT
|
||||
#endif
|
||||
|
||||
|
||||
/* Define the thread entry information structure. This structure is placed on the thread's stack such that the
|
||||
/* Define the thread entry information structure. This structure is placed on the thread's stack such that the
|
||||
module's _txm_thread_shell_entry function does not need to access anything in the thread control block. */
|
||||
|
||||
|
||||
typedef struct TXM_MODULE_THREAD_ENTRY_INFO_STRUCT
|
||||
{
|
||||
TX_THREAD *txm_module_thread_entry_info_thread;
|
||||
@@ -516,7 +519,7 @@ typedef struct TXM_MODULE_ALLOCATED_OBJECT_STRUCT
|
||||
} TXM_MODULE_ALLOCATED_OBJECT;
|
||||
|
||||
|
||||
/* Determine if module code is being compiled. If so, remap the ThreadX API to
|
||||
/* Determine if module code is being compiled. If so, remap the ThreadX API to
|
||||
the module shell functions that will go through the module <-> module manager
|
||||
interface. */
|
||||
|
||||
@@ -541,6 +544,7 @@ VOID _txm_module_thread_shell_entry(TX_THREAD *thread_ptr, TXM_MODULE_THREAD_EN
|
||||
UINT _txm_module_thread_system_suspend(TX_THREAD *thread_ptr);
|
||||
|
||||
UINT _txm_module_application_request(ULONG request, ALIGN_TYPE param_1, ALIGN_TYPE param_2, ALIGN_TYPE param_3);
|
||||
VOID _txm_module_callback_request_thread_entry(ULONG id);
|
||||
UINT _txm_module_object_allocate(VOID **object_ptr, ULONG object_size);
|
||||
UINT _txm_module_object_deallocate(VOID *object_ptr);
|
||||
UINT _txm_module_object_pointer_get(UINT object_type, CHAR *name, VOID **object_ptr);
|
||||
@@ -574,7 +578,7 @@ VOID _txm_module_usbx_duo_callback_request(TXM_MODULE_CALLBACK_MESSAGE *callbac
|
||||
|
||||
/* Map the module manager APIs just in case this is being included from the module manager in the
|
||||
resident portion of the application. */
|
||||
|
||||
|
||||
#define txm_module_manager_initialize _txm_module_manager_initialize
|
||||
#define txm_module_manager_absolute_load _txm_module_manager_absolute_load
|
||||
#define txm_module_manager_in_place_load _txm_module_manager_in_place_load
|
||||
@@ -615,7 +619,7 @@ UINT _txm_module_manager_file_load(TXM_MODULE_INSTANCE *module_instance, CHAR *
|
||||
UINT _txm_module_manager_initialize(VOID *module_memory_start, ULONG module_memory_size);
|
||||
UINT _txm_module_manager_absolute_load(TXM_MODULE_INSTANCE *module_instance, CHAR *name, VOID *module_location);
|
||||
UINT _txm_module_manager_in_place_load(TXM_MODULE_INSTANCE *module_instance, CHAR *name, VOID *module_location);
|
||||
UINT _txm_module_manager_internal_load(TXM_MODULE_INSTANCE *module_instance, CHAR *name, VOID *module_location,
|
||||
UINT _txm_module_manager_internal_load(TXM_MODULE_INSTANCE *module_instance, CHAR *name, VOID *module_location,
|
||||
ULONG code_size, VOID *code_allocation_ptr, ULONG code_allocation_size);
|
||||
ALIGN_TYPE _txm_module_manager_kernel_dispatch(ULONG kernel_request, ALIGN_TYPE param_0, ALIGN_TYPE param_1, ALIGN_TYPE param_2);
|
||||
UINT _txm_module_manager_object_allocate(VOID **object_ptr_ptr, ULONG object_size, TXM_MODULE_INSTANCE *module_instance);
|
||||
@@ -628,7 +632,7 @@ UINT _txm_module_manager_memory_load(TXM_MODULE_INSTANCE *module_instance, CHAR
|
||||
UINT _txm_module_manager_properties_get(TXM_MODULE_INSTANCE *module_instance, ULONG *module_properties_ptr);
|
||||
UINT _txm_module_manager_start(TXM_MODULE_INSTANCE *module_instance);
|
||||
UINT _txm_module_manager_stop(TXM_MODULE_INSTANCE *module_instance);
|
||||
UINT _txm_module_manager_thread_create(TX_THREAD *thread_ptr, CHAR *name, VOID (*shell_function)(TX_THREAD *, TXM_MODULE_INSTANCE *),
|
||||
UINT _txm_module_manager_thread_create(TX_THREAD *thread_ptr, CHAR *name, VOID (*shell_function)(TX_THREAD *, TXM_MODULE_INSTANCE *),
|
||||
VOID (*entry_function)(ULONG), ULONG entry_input,
|
||||
VOID *stack_start, ULONG stack_size, UINT priority, UINT preempt_threshold,
|
||||
ULONG time_slice, UINT auto_start, UINT thread_control_block_size, TXM_MODULE_INSTANCE *module_instance);
|
||||
|
||||
@@ -10,41 +10,44 @@
|
||||
/**************************************************************************/
|
||||
|
||||
|
||||
/**************************************************************************/
|
||||
/**************************************************************************/
|
||||
/** */
|
||||
/** ThreadX Component */
|
||||
/** */
|
||||
/** User Specific */
|
||||
/** */
|
||||
/**************************************************************************/
|
||||
/**************************************************************************/
|
||||
/**************************************************************************/
|
||||
/**************************************************************************/
|
||||
/** */
|
||||
/** ThreadX Component */
|
||||
/** */
|
||||
/** User Specific */
|
||||
/** */
|
||||
/**************************************************************************/
|
||||
/**************************************************************************/
|
||||
|
||||
|
||||
/**************************************************************************/
|
||||
/* */
|
||||
/* APPLICATION INTERFACE DEFINITION RELEASE */
|
||||
/* */
|
||||
/* txm_module_user.h PORTABLE C */
|
||||
/* 6.1 */
|
||||
/**************************************************************************/
|
||||
/* */
|
||||
/* APPLICATION INTERFACE DEFINITION RELEASE */
|
||||
/* */
|
||||
/* txm_module_user.h PORTABLE C */
|
||||
/* 6.1.10 */
|
||||
/* AUTHOR */
|
||||
/* */
|
||||
/* Scott Larson, Microsoft Corporation */
|
||||
/* */
|
||||
/* DESCRIPTION */
|
||||
/* */
|
||||
/* This file contains user defines for configuring the Module Manager */
|
||||
/* in specific ways. This file will have an effect only if the Module */
|
||||
/* Manager library is built with TXM_MODULE_INCLUDE_USER_DEFINE_FILE */
|
||||
/* defined. Note that all the defines in this file may also be made on */
|
||||
/* the command line when building Modules library and application */
|
||||
/* objects. */
|
||||
/* */
|
||||
/* RELEASE HISTORY */
|
||||
/* */
|
||||
/* DESCRIPTION */
|
||||
/* */
|
||||
/* This file contains user defines for configuring the Module Manager */
|
||||
/* in specific ways. This file will have an effect only if the Module */
|
||||
/* Manager library is built with TXM_MODULE_INCLUDE_USER_DEFINE_FILE */
|
||||
/* defined. Note that all the defines in this file may also be made on */
|
||||
/* the command line when building Modules library and application */
|
||||
/* objects. */
|
||||
/* */
|
||||
/* RELEASE HISTORY */
|
||||
/* */
|
||||
/* DATE NAME DESCRIPTION */
|
||||
/* */
|
||||
/* 09-30-2020 Scott Larson Initial Version 6.1 */
|
||||
/* 09-30-2020 Scott Larson Initial Version 6.1 */
|
||||
/* 01-31-2022 Scott Larson Modified comments and added */
|
||||
/* CALL_NOT_USED defines, */
|
||||
/* resulting in version 6.1.10 */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
|
||||
@@ -57,4 +60,106 @@
|
||||
|
||||
/* #define TXM_MODULE_KERNEL_STACK_SIZE 2048 */
|
||||
|
||||
|
||||
/* Uncomment any of these defines to prevent modules from being able to make that system call. */
|
||||
|
||||
/* #define TXM_BLOCK_ALLOCATE_CALL_NOT_USED */
|
||||
/* #define TXM_BLOCK_POOL_CREATE_CALL_NOT_USED */
|
||||
/* #define TXM_BLOCK_POOL_DELETE_CALL_NOT_USED */
|
||||
/* #define TXM_BLOCK_POOL_INFO_GET_CALL_NOT_USED */
|
||||
/* #define TXM_BLOCK_POOL_PERFORMANCE_INFO_GET_CALL_NOT_USED */
|
||||
/* #define TXM_BLOCK_POOL_PERFORMANCE_SYSTEM_INFO_GET_CALL_NOT_USED */
|
||||
/* #define TXM_BLOCK_POOL_PRIORITIZE_CALL_NOT_USED */
|
||||
/* #define TXM_BLOCK_RELEASE_CALL_NOT_USED */
|
||||
/* #define TXM_BYTE_ALLOCATE_CALL_NOT_USED */
|
||||
/* #define TXM_BYTE_POOL_CREATE_CALL_NOT_USED */
|
||||
/* #define TXM_BYTE_POOL_DELETE_CALL_NOT_USED */
|
||||
/* #define TXM_BYTE_POOL_INFO_GET_CALL_NOT_USED */
|
||||
/* #define TXM_BYTE_POOL_PERFORMANCE_INFO_GET_CALL_NOT_USED */
|
||||
/* #define TXM_BYTE_POOL_PERFORMANCE_SYSTEM_INFO_GET_CALL_NOT_USED */
|
||||
/* #define TXM_BYTE_POOL_PRIORITIZE_CALL_NOT_USED */
|
||||
/* #define TXM_BYTE_RELEASE_CALL_NOT_USED */
|
||||
/* #define TXM_EVENT_FLAGS_CREATE_CALL_NOT_USED */
|
||||
/* #define TXM_EVENT_FLAGS_DELETE_CALL_NOT_USED */
|
||||
/* #define TXM_EVENT_FLAGS_GET_CALL_NOT_USED */
|
||||
/* #define TXM_EVENT_FLAGS_INFO_GET_CALL_NOT_USED */
|
||||
/* #define TXM_EVENT_FLAGS_PERFORMANCE_INFO_GET_CALL_NOT_USED */
|
||||
/* #define TXM_EVENT_FLAGS_PERFORMANCE_SYSTEM_INFO_GET_CALL_NOT_USED */
|
||||
/* #define TXM_EVENT_FLAGS_SET_CALL_NOT_USED */
|
||||
/* #define TXM_EVENT_FLAGS_SET_NOTIFY_CALL_NOT_USED */
|
||||
/* #define TXM_MUTEX_CREATE_CALL_NOT_USED */
|
||||
/* #define TXM_MUTEX_DELETE_CALL_NOT_USED */
|
||||
/* #define TXM_MUTEX_GET_CALL_NOT_USED */
|
||||
/* #define TXM_MUTEX_INFO_GET_CALL_NOT_USED */
|
||||
/* #define TXM_MUTEX_PERFORMANCE_INFO_GET_CALL_NOT_USED */
|
||||
/* #define TXM_MUTEX_PERFORMANCE_SYSTEM_INFO_GET_CALL_NOT_USED */
|
||||
/* #define TXM_MUTEX_PRIORITIZE_CALL_NOT_USED */
|
||||
/* #define TXM_MUTEX_PUT_CALL_NOT_USED */
|
||||
/* #define TXM_QUEUE_CREATE_CALL_NOT_USED */
|
||||
/* #define TXM_QUEUE_DELETE_CALL_NOT_USED */
|
||||
/* #define TXM_QUEUE_FLUSH_CALL_NOT_USED */
|
||||
/* #define TXM_QUEUE_FRONT_SEND_CALL_NOT_USED */
|
||||
/* #define TXM_QUEUE_INFO_GET_CALL_NOT_USED */
|
||||
/* #define TXM_QUEUE_PERFORMANCE_INFO_GET_CALL_NOT_USED */
|
||||
/* #define TXM_QUEUE_PERFORMANCE_SYSTEM_INFO_GET_CALL_NOT_USED */
|
||||
/* #define TXM_QUEUE_PRIORITIZE_CALL_NOT_USED */
|
||||
/* #define TXM_QUEUE_RECEIVE_CALL_NOT_USED */
|
||||
/* #define TXM_QUEUE_SEND_CALL_NOT_USED */
|
||||
/* #define TXM_QUEUE_SEND_NOTIFY_CALL_NOT_USED */
|
||||
/* #define TXM_SEMAPHORE_CEILING_PUT_CALL_NOT_USED */
|
||||
/* #define TXM_SEMAPHORE_CREATE_CALL_NOT_USED */
|
||||
/* #define TXM_SEMAPHORE_DELETE_CALL_NOT_USED */
|
||||
/* #define TXM_SEMAPHORE_GET_CALL_NOT_USED */
|
||||
/* #define TXM_SEMAPHORE_INFO_GET_CALL_NOT_USED */
|
||||
/* #define TXM_SEMAPHORE_PERFORMANCE_INFO_GET_CALL_NOT_USED */
|
||||
/* #define TXM_SEMAPHORE_PERFORMANCE_SYSTEM_INFO_GET_CALL_NOT_USED */
|
||||
/* #define TXM_SEMAPHORE_PRIORITIZE_CALL_NOT_USED */
|
||||
/* #define TXM_SEMAPHORE_PUT_CALL_NOT_USED */
|
||||
/* #define TXM_SEMAPHORE_PUT_NOTIFY_CALL_NOT_USED */
|
||||
/* #define TXM_THREAD_CREATE_CALL_NOT_USED */
|
||||
/* #define TXM_THREAD_DELETE_CALL_NOT_USED */
|
||||
/* #define TXM_THREAD_ENTRY_EXIT_NOTIFY_CALL_NOT_USED */
|
||||
/* #define TXM_THREAD_IDENTIFY_CALL_NOT_USED */
|
||||
/* #define TXM_THREAD_INFO_GET_CALL_NOT_USED */
|
||||
/* #define TXM_THREAD_INTERRUPT_CONTROL_CALL_NOT_USED */
|
||||
/* #define TXM_THREAD_PERFORMANCE_INFO_GET_CALL_NOT_USED */
|
||||
/* #define TXM_THREAD_PERFORMANCE_SYSTEM_INFO_GET_CALL_NOT_USED */
|
||||
/* #define TXM_THREAD_PREEMPTION_CHANGE_CALL_NOT_USED */
|
||||
/* #define TXM_THREAD_PRIORITY_CHANGE_CALL_NOT_USED */
|
||||
/* #define TXM_THREAD_RELINQUISH_CALL_NOT_USED */
|
||||
/* #define TXM_THREAD_RESET_CALL_NOT_USED */
|
||||
/* #define TXM_THREAD_RESUME_CALL_NOT_USED */
|
||||
/* #define TXM_THREAD_SLEEP_CALL_NOT_USED */
|
||||
/* #define TXM_THREAD_STACK_ERROR_NOTIFY_CALL_NOT_USED */
|
||||
/* #define TXM_THREAD_SUSPEND_CALL_NOT_USED */
|
||||
/* thread system suspend is needed in _txm_module_thread_shell_entry */
|
||||
/* #define TXM_THREAD_TERMINATE_CALL_NOT_USED */
|
||||
/* #define TXM_THREAD_TIME_SLICE_CHANGE_CALL_NOT_USED */
|
||||
/* #define TXM_THREAD_WAIT_ABORT_CALL_NOT_USED */
|
||||
/* #define TXM_TIME_GET_CALL_NOT_USED */
|
||||
/* #define TXM_TIME_SET_CALL_NOT_USED */
|
||||
/* #define TXM_TIMER_ACTIVATE_CALL_NOT_USED */
|
||||
/* #define TXM_TIMER_CHANGE_CALL_NOT_USED */
|
||||
/* #define TXM_TIMER_CREATE_CALL_NOT_USED */
|
||||
/* #define TXM_TIMER_DEACTIVATE_CALL_NOT_USED */
|
||||
/* #define TXM_TIMER_DELETE_CALL_NOT_USED */
|
||||
/* #define TXM_TIMER_INFO_GET_CALL_NOT_USED */
|
||||
/* #define TXM_TIMER_PERFORMANCE_INFO_GET_CALL_NOT_USED */
|
||||
/* #define TXM_TIMER_PERFORMANCE_SYSTEM_INFO_GET_CALL_NOT_USED */
|
||||
/* #define TXM_TRACE_BUFFER_FULL_NOTIFY_CALL_NOT_USED */
|
||||
/* #define TXM_TRACE_DISABLE_CALL_NOT_USED */
|
||||
/* #define TXM_TRACE_ENABLE_CALL_NOT_USED */
|
||||
/* #define TXM_TRACE_EVENT_FILTER_CALL_NOT_USED */
|
||||
/* #define TXM_TRACE_EVENT_UNFILTER_CALL_NOT_USED */
|
||||
/* #define TXM_TRACE_INTERRUPT_CONTROL_CALL_NOT_USED */
|
||||
/* #define TXM_TRACE_ISR_ENTER_INSERT_CALL_NOT_USED */
|
||||
/* #define TXM_TRACE_ISR_EXIT_INSERT_CALL_NOT_USED */
|
||||
/* #define TXM_TRACE_USER_EVENT_INSERT_CALL_NOT_USED */
|
||||
/* #define TXM_MODULE_APPLICATION_REQUEST_CALL_NOT_USED */
|
||||
/* #define TXM_MODULE_OBJECT_ALLOCATE_CALL_NOT_USED */
|
||||
/* #define TXM_MODULE_OBJECT_DEALLOCATE_CALL_NOT_USED */
|
||||
/* #define TXM_MODULE_OBJECT_POINTER_GET_CALL_NOT_USED */
|
||||
/* #define TXM_MODULE_OBJECT_POINTER_GET_EXTENDED_CALL_NOT_USED */
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user