Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
rtx_os.h
00001 /* 00002 * Copyright (c) , Arm Limited and affiliates. 00003 * SPDX-License-Identifier: Apache-2.0 00004 * 00005 * Licensed under the Apache License, Version 2.0 (the "License"); 00006 * you may not use this file except in compliance with the License. 00007 * You may obtain a copy of the License at 00008 * 00009 * http://www.apache.org/licenses/LICENSE-2.0 00010 * 00011 * Unless required by applicable law or agreed to in writing, software 00012 * distributed under the License is distributed on an "AS IS" BASIS, 00013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00014 * See the License for the specific language governing permissions and 00015 * limitations under the License. 00016 */ 00017 00018 #ifndef __RTX_OS__ 00019 #define __RTX_OS__ 00020 00021 #include "inttypes.h" 00022 00023 typedef struct osRtxSemaphore_s { 00024 uint8_t id; ///< Object Identifier 00025 uint8_t state; ///< Object State 00026 uint8_t flags; ///< Object Flags 00027 uint8_t reserved; 00028 const char *name; ///< Object Name 00029 uint16_t tokens; ///< Current number of tokens 00030 uint16_t max_tokens; ///< Maximum number of tokens 00031 } osRtxSemaphore_t; 00032 00033 typedef struct osRtxThread_s { 00034 uint8_t id; ///< Object Identifier 00035 uint8_t state; ///< Object State 00036 uint8_t flags; ///< Object Flags 00037 uint8_t attr; ///< Object Attributes 00038 const char *name; ///< Object Name 00039 struct osRtxThread_s *thread_next; ///< Link pointer to next Thread in Object list 00040 struct osRtxThread_s *thread_prev; ///< Link pointer to previous Thread in Object list 00041 struct osRtxThread_s *delay_next; ///< Link pointer to next Thread in Delay list 00042 struct osRtxThread_s *delay_prev; ///< Link pointer to previous Thread in Delay list 00043 struct osRtxThread_s *thread_join; ///< Thread waiting to Join 00044 uint32_t delay; ///< Delay Time 00045 int8_t priority; ///< Thread Priority 00046 int8_t priority_base; ///< Base Priority 00047 uint8_t stack_frame; ///< Stack Frame (EXC_RETURN[7..0]) 00048 uint8_t flags_options; ///< Thread/Event Flags Options 00049 uint32_t wait_flags; ///< Waiting Thread/Event Flags 00050 uint32_t thread_flags; ///< Thread Flags 00051 struct osRtxMutex_s *mutex_list; ///< Link pointer to list of owned Mutexes 00052 void *stack_mem; ///< Stack Memory 00053 uint32_t stack_size; ///< Stack Size 00054 uint32_t sp; ///< Current Stack Pointer 00055 uint32_t thread_addr; ///< Thread entry address 00056 uint32_t tz_memory; ///< TrustZone Memory Identifier 00057 void *context; ///< Context for OsEventObserver objects 00058 } osRtxThread_t; 00059 00060 #endif
Generated on Tue Jul 12 2022 12:45:44 by
