summaryrefslogtreecommitdiffstats
path: root/video_in_hal/vehicleservice/positioning_base_library/library/src
diff options
context:
space:
mode:
Diffstat (limited to 'video_in_hal/vehicleservice/positioning_base_library/library/src')
-rwxr-xr-xvideo_in_hal/vehicleservice/positioning_base_library/library/src/MsgBapi.cpp347
-rwxr-xr-xvideo_in_hal/vehicleservice/positioning_base_library/library/src/_CWORD64_api.cpp254
-rwxr-xr-xvideo_in_hal/vehicleservice/positioning_base_library/library/src/_pbCSection.cpp131
-rwxr-xr-xvideo_in_hal/vehicleservice/positioning_base_library/library/src/_pbCommon.cpp928
-rwxr-xr-xvideo_in_hal/vehicleservice/positioning_base_library/library/src/_pbDram.cpp284
-rwxr-xr-xvideo_in_hal/vehicleservice/positioning_base_library/library/src/_pbEvent.cpp1695
-rwxr-xr-xvideo_in_hal/vehicleservice/positioning_base_library/library/src/_pbFsys.cpp171
-rwxr-xr-xvideo_in_hal/vehicleservice/positioning_base_library/library/src/_pbMem.cpp989
-rwxr-xr-xvideo_in_hal/vehicleservice/positioning_base_library/library/src/_pbMisc.cpp226
-rwxr-xr-xvideo_in_hal/vehicleservice/positioning_base_library/library/src/_pbMsg.cpp1572
-rwxr-xr-xvideo_in_hal/vehicleservice/positioning_base_library/library/src/_pbMutex.cpp1423
-rwxr-xr-xvideo_in_hal/vehicleservice/positioning_base_library/library/src/_pbOSCtrl.cpp541
-rwxr-xr-xvideo_in_hal/vehicleservice/positioning_base_library/library/src/_pbOther.cpp799
-rwxr-xr-xvideo_in_hal/vehicleservice/positioning_base_library/library/src/_pbProcMng.cpp207
-rwxr-xr-xvideo_in_hal/vehicleservice/positioning_base_library/library/src/_pbSem.cpp780
-rwxr-xr-xvideo_in_hal/vehicleservice/positioning_base_library/library/src/_pbSerial.cpp525
-rwxr-xr-xvideo_in_hal/vehicleservice/positioning_base_library/library/src/_pbSram.cpp316
-rwxr-xr-xvideo_in_hal/vehicleservice/positioning_base_library/library/src/_pbSum.cpp95
-rwxr-xr-xvideo_in_hal/vehicleservice/positioning_base_library/library/src/_pbTimer.cpp1115
-rwxr-xr-xvideo_in_hal/vehicleservice/positioning_base_library/library/src/_pbWaitforsingleobject.cpp358
-rwxr-xr-xvideo_in_hal/vehicleservice/positioning_base_library/library/src/memcpy_64p_sync.cpp25
-rwxr-xr-xvideo_in_hal/vehicleservice/positioning_base_library/library/src/memset_64p_sync.cpp25
22 files changed, 0 insertions, 12806 deletions
diff --git a/video_in_hal/vehicleservice/positioning_base_library/library/src/MsgBapi.cpp b/video_in_hal/vehicleservice/positioning_base_library/library/src/MsgBapi.cpp
deleted file mode 100755
index 66e78ae..0000000
--- a/video_in_hal/vehicleservice/positioning_base_library/library/src/MsgBapi.cpp
+++ /dev/null
@@ -1,347 +0,0 @@
-/*
- * @copyright Copyright (c) 2016-2020 TOYOTA MOTOR CORPORATION.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * @file
- * MsgBapi.cpp
- * @brief system common functions
- */
-
-/*---------------------------------------------------------------------------------*
- * Include Files *
- *---------------------------------------------------------------------------------*/
-#include <vehicle_service/positioning_base_library.h>
-
-#include <fcntl.h>
-#include <sys/mman.h>
-#include <dirent.h>
-#include "_pbInternalProc.h"
-#include "WPF_STD_private.h"
-
-/*---------------------------------------------------------------------------------*
- * Function *
- *---------------------------------------------------------------------------------*/
-/**
- * @brief
- * Create Shared Memory
- *
- * Create a file mapping object with the specified shared memory name and size, then <br>
- * maps it to the invoking process space. If the shared memory that has already been <br>
- * created is specified, an error is returned.<br>
- * The shared memory management information allocates a heap area each time it is <br>
- * created, and return this address as a shared memory handle.
- *
- * @param[in] TCHAR* name
- * @param[in] DWORD size
- *
- * @return HANDLE<br>
- * Except NULL Handle of the created shared memory(Management information pointer)<br>
- * NULL ABEND
- */
-HANDLE CreateSharedMemory(TCHAR* name, DWORD size) {
- int32 lret = EOK;
- RET_API ret_api = RET_ERROR;
- int32 fd = POSITIONINGBASELIBRARY_NON_FD;
- SHARED_MEMORY* p_shm = NULL;
- char c_file_path[PATH_MAX + 1] = SHARED_MEMORY_DIRECTORY;
-
- if ((name != NULL) && (size != 0)) { // LCOV_EXCL_BR_LINE 6:name can not be NULL, size can not be 0
- /* Allocate the shared memory management information area in the heap. */
- p_shm = reinterpret_cast<SHARED_MEMORY *>(malloc(sizeof(SHARED_MEMORY)));
- if (p_shm == NULL) { // LCOV_EXCL_BR_LINE 5: malloc's error case
- } else {
- p_shm->h_heap = NULL;
- p_shm->phy_addr = 0;
- p_shm->h_map = NULL;
- p_shm->size = size;
-
- /* Create directory */
- (void)mkdir(SHARED_MEMORY_DIRECTORY, S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH);
-
- /* Create shared memory with the specified size and name.(Error if it already exists) */
- (void)strncat(c_file_path, (const char*)name, 128);
- fd = open(c_file_path, O_RDWR | O_CREAT | O_EXCL, S_IRWXU | S_IRWXG | S_IRWXO); // LCOV_EXCL_BR_LINE 5: standard lib error // NOLINT(whitespace/line_length)
- if (fd > POSITIONINGBASELIBRARY_NON_FD) /* Coverity CID: 18775 compliant */ { // LCOV_EXCL_BR_LINE 5: standard lib error // NOLINT(whitespace/line_length)
- /* Set size */
- lret = ftruncate(fd, size);
- if (lret == EOK) { // LCOV_EXCL_BR_LINE 5: ftruncate's error case
- /* Map the created shared memory to the invoking process space. */
- p_shm->p_memory = mmap(0, size, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
- if (p_shm->p_memory != MAP_FAILED) { // LCOV_EXCL_BR_LINE 5: standard lib error
- ret_api = RET_NORMAL;
- }
- }
- }
- }
- }
-
- if (fd > POSITIONINGBASELIBRARY_NON_FD) /* Coverity CID: 18775 compliant */ {
- close(fd);
- }
-
- if (ret_api == RET_NORMAL) { // LCOV_EXCL_BR_LINE 200: can not be not normal
- /* Indicate that it is the creator of the shared memory */
- p_shm->owner = TRUE;
- } else {
- // LCOV_EXCL_START 200: can not be not normal
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- /* In case of an error */
- if (fd != POSITIONINGBASELIBRARY_NON_FD) {
- /* Delete shared memory object if created */
- shm_unlink(name);
- }
-
- if (p_shm != NULL) {
- free(p_shm);
- }
-
- p_shm = NULL;
- // LCOV_EXCL_STOP
- }
-
- return (HANDLE)p_shm;
-}
-
-/**
- * @brief
- * Open Shared Memory
- *
- * Create a file mapping object with the specified shared memory name and size, <br>
- * then map it to the invoking process space. Since this is not shared memory <br>
- * creation processing, an error is returned if it is not a file mapping object.<br>
- * The shared memory management information allocates a heap area each time <br>
- * it is created, and return this address as a shared memory handle.
- *
- * @param[in] TCHAR* name
- * @param[in] DWORD size
- *
- * @return HANDLE<br>
- * Except NULL Handle of the acquired shared memory(Management information pointer)<br>
- * NULL ABEND
- */
-HANDLE OpenSharedMemory(TCHAR* name, DWORD size) {
- RET_API ret_api = RET_ERROR;
- int32 fd = POSITIONINGBASELIBRARY_NON_FD;
- SHARED_MEMORY* p_shm = NULL;
- char c_file_path[PATH_MAX + 1] = SHARED_MEMORY_DIRECTORY;
-
- if ((name != NULL) && (size != 0)) { // LCOV_EXCL_BR_LINE 6:name can not be NULL, size can not be 0
- /* Allocate the shared memory management information area in the heap. */
- p_shm = reinterpret_cast<SHARED_MEMORY *>(malloc(sizeof(SHARED_MEMORY)));
- if (p_shm == NULL) { // LCOV_EXCL_BR_LINE 5: malloc's error case
- } else {
- p_shm->h_heap = NULL;
- p_shm->phy_addr = 0;
- p_shm->h_map = NULL;
- p_shm->size = size;
-
- /* Open shared memory with the specified size and name(Error if not exists) */
- (void)strncat(c_file_path, (const char*)name, 128);
- fd = open(c_file_path, O_RDWR, S_IRWXU | S_IRWXG | S_IRWXO); // LCOV_EXCL_BR_LINE 5: standard lib error
- if (fd > POSITIONINGBASELIBRARY_NON_FD) /* Coverity CID: 18774 compliant */ {
- /* Map open shared memory to invoking process space. */
- p_shm->p_memory = reinterpret_cast<SHARED_MEMORY *>(mmap(0, size, PROT_READ | PROT_WRITE, \
- MAP_SHARED | POSITIONINGBASELIBRARY_MAP_NON_INIT, fd, 0));
- if (p_shm->p_memory != MAP_FAILED) { // LCOV_EXCL_BR_LINE 5: standard lib error
- ret_api = RET_NORMAL;
- }
- }
- }
- }
-
- if (fd > POSITIONINGBASELIBRARY_NON_FD) /* Coverity CID: 18774 compliant */ {
- close(fd);
- }
-
- if (ret_api == RET_NORMAL) {
- /* Indicate that the opener of the shared memory not the creator of it. */
- p_shm->owner = FALSE;
- } else {
- /* In case of an error */
- if (p_shm != NULL) {
- free(p_shm);
- }
-
- p_shm = NULL;
- }
-
- return (HANDLE)p_shm;
-}
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : DeleteAllSharedMemory()
- * ABSTRACT : Delete all shared memory objects
- * NOTE : Delete all shared memory objects
- * : However, the heap area allocated at the time of shared memory creation or open is not released.
- * ARGUMENT : None
- * RETURN : None
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-void
-DeleteAllSharedMemory(void) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- int32 lret = EOK;
- char* cwd = NULL;
- char sz_cwd[PATH_MAX + 1] = {0};
- DIR* p_dir = NULL;
- struct dirent* p_dir_ent = NULL;
-
- /* Get path of current directory */
- cwd = getcwd(sz_cwd, PATH_MAX + 1);
-
- if (cwd != NULL) {
- /* Move to shared memory directory */
- lret = chdir(SHARED_MEMORY_DIRECTORY);
-
- if (lret == EOK) {
- /* Open shared memory directory */
- p_dir = opendir(SHARED_MEMORY_DIRECTORY);
- if (p_dir != NULL) {
- for (;;) {
- /* Get directory entry */
- p_dir_ent = readdir(p_dir);
- if (p_dir_ent == NULL) {
- break;
- }
-
- if ((_pb_strcmp(p_dir_ent->d_name, ".") != 0) &&
- (_pb_strcmp(p_dir_ent->d_name, "..") != 0)) {
- /* Delete shared memory objects */
- shm_unlink(p_dir_ent->d_name);
- }
- }
-
- /* Close shared memory directory */
- closedir(p_dir);
- }
-
- /* Go to original directory */
- lret = chdir(cwd);
- if (lret != EOK) /* Coverity CID: 18816 compliant */ {
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "chdir ERROR [lret:%d]", lret);
- }
- }
- }
-
- /* Delete shared memory directory */
- lret = rmdir(SHARED_MEMORY_DIRECTORY);
-
- return;
-}
-// LCOV_EXCL_STOP
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : GetSharedMemoryPtr()
- * ABSTRACT : Shared memory start address acquisition processing
- * NOTE : Return the start address of the shared memory that is allocated/mapped at the
- * : time of shared memory creation or open
- * ARGUMENT : HANDLE h_shm Shared memory handle(Management information pointer)
- * RETURN : void* Except NULL Pointer to the acquired shared memory
- * : NULL ABEND
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-void*
-GetSharedMemoryPtr(HANDLE h_shm) {
- void *p_vret = NULL;
- SHARED_MEMORY *p_shm = reinterpret_cast<SHARED_MEMORY *>(h_shm);
-
- if (p_shm == NULL) /* If the shared memory handle that is not created or not opened is specified, */ { // LCOV_EXCL_BR_LINE 200: p_shm can not be NULL // NOLINT(whitespace/line_length)
- } else {
- p_vret = p_shm->p_memory;
- }
-
- return p_vret;
-}
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : CloseSharedMemory()
- * ABSTRACT : Shared memory close processing
- * NOTE : Close the shared memory that is allocated/mapped at the time of its creation or open
- * ARGUMENT : HANDLE h_shm Shared memory handle(Management information pointer)
- * RETURN : NONE
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-void
-CloseSharedMemory(HANDLE h_shm) {
- SHARED_MEMORY* p_shm = reinterpret_cast<SHARED_MEMORY *>(h_shm);
- int32 lret = EOK;
-
- if (p_shm == NULL) /* If the shared memory handle that is not created or not opened is specified, */ {
- } else if (p_shm->phy_addr != 0) /* If the physical memory area address is specified,(Currently never comes here) */ {
- if (p_shm->p_memory != NULL) {
- /* Release physical memory area */
- if (lret != EOK) {
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, \
- "_CWORD64_api.dll:%s:LINE %d\r\n munmap_device_memory ERROR In PbFreePhysicalMem\r\n", \
- LTEXT(__FILE__), __LINE__);
- _pb_Exit(); /* System recovery processing(Exception execution) */
- }
- }
- } else {
- /* Release the shared memory object mapped to invoking process space */
- if (p_shm->p_memory != NULL) {
- lret = munmap(p_shm->p_memory, p_shm->size);
- p_shm->p_memory = NULL;
- }
-
- /* Release the shared memory management information allocated in the heap */
- free(p_shm);
- }
-
- return;
-}
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : DeleteSharedMemory()
- * ABSTRACT : Shared memory object delete processing
- * NOTE : Delete the shared memory object that is specified name
- * ARGUMENT : TCHAR* name Pointer to the name of the shared memory to be deleted
- * RETURN : None
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-void
-DeleteSharedMemory(TCHAR* name) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- int32 lret = EOK;
- char* cwd = NULL;
- char sz_cwd[PATH_MAX + 1] = {0};
-
- if (name != NULL) {
- /* Get path of current directory */
- cwd = getcwd(sz_cwd, PATH_MAX + 1);
-
- if (cwd != NULL) {
- /* Move to shared memory directory */
- lret = chdir(SHARED_MEMORY_DIRECTORY);
-
- if (lret == EOK) {
- /* Delete shared memory object */
- lret = shm_unlink(name);
-
- /* Go to original directory */
- lret = chdir(cwd);
- }
- }
- }
-
- return;
-}
-// LCOV_EXCL_STOP
-
-
-HANDLE
-OpenSharedMemoryAtPhysical(DWORD physical_address, DWORD size, DWORD protect) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- return NULL;
-}
-// LCOV_EXCL_STOP
-
diff --git a/video_in_hal/vehicleservice/positioning_base_library/library/src/_CWORD64_api.cpp b/video_in_hal/vehicleservice/positioning_base_library/library/src/_CWORD64_api.cpp
deleted file mode 100755
index ed833fd..0000000
--- a/video_in_hal/vehicleservice/positioning_base_library/library/src/_CWORD64_api.cpp
+++ /dev/null
@@ -1,254 +0,0 @@
-/*
- * @copyright Copyright (c) 2016-2020 TOYOTA MOTOR CORPORATION.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * @file
- * _CWORD64_api.cpp
- */
-
-/*---------------------------------------------------------------------------------*
- * Include Files *
- *---------------------------------------------------------------------------------*/
-#include <vehicle_service/positioning_base_library.h>
-#include <native_service/frameworkunified_framework_if.h>
-#include <native_service/cl_lock.h>
-#include <native_service/cl_lockid.h>
-#include "tchar.h"
-#include "WPF_STD_private.h"
-
-
-
-/*---------------------------------------------------------------------------------*
- * Function Prototype *
- *---------------------------------------------------------------------------------*/
-extern RET_API MutexInit(void);
-extern RET_API SemaphoreInit(void);
-extern RET_API MemoryInit(void);
-extern RET_API EventInit(void);
-extern RET_API MsgInit(void);
-extern RET_API ErrTrapInit(void);
-extern RET_API TimerInit(HANDLE h_app);
-extern void MsgTerm(void);
-
-static void BaseCreateMutex(void);
-static void BaseLockMutex(void);
-static void BaseUnlockMutex(void);
-
-/*---------------------------------------------------------------------------------*
- * Grobal Value *
- *---------------------------------------------------------------------------------*/
-/** Handle for locking Base API setups */
-static HANDLE g_h_mtx = NULL;
-
-/*---------------------------------------------------------------------------------*
- * Function *
- *---------------------------------------------------------------------------------*/
-/**
- * @brief
- * Setup Base API
- *
- * Perform the processing required to use the Base API.(Call per process)
- *
- * @param[in] h_app Application handle
- *
- * @return RET_NORMAL Normal completion
- */
-RET_API _pb_Setup_CWORD64_API(HANDLE h_app) { // NOLINT(readability/nolint) API
- RET_API result;
- static int8 i = 0;
- int32 ret;
-
- if (i != 0) {
- /* If the process has already initialized */
- /* nop */
- } else {
- /* Interprocess lock initialization(CLS) */
- ret = CL_LockProcessInit(); // LCOV_EXCL_BR_LINE 4: nsfw error
- if (ret != 0) { // LCOV_EXCL_BR_LINE 4: nsfw error
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "CL_LockProcessInit ERROR!! [ret=%d]", ret);
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- _pb_Exit(); // LCOV_EXCL_LINE 4: nsfw error
- /* don't arrive here. */
- }
-
- BaseCreateMutex(); /* Create Mutex */
- BaseLockMutex(); /* Get Mutex */
-
- /* Recheck during getting Mutex */
- if (i == 0) { // LCOV_EXCL_BR_LINE 6: i can not be other value
- /* Not initialized */
- FRAMEWORKUNIFIEDLOG(ZONE_INFO, __FUNCTION__, "_pb_Setup_CWORD64_API Entered.");
-
- /* Mutex function initialization */
- result = MutexInit();
- if (result != RET_NORMAL) { // LCOV_EXCL_BR_LINE 200: can not be not normal
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "MutexInit ERROR!! [result=%d]", result);
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- _pb_Exit(); // LCOV_EXCL_LINE 200: function can not be not normal
- }
-
- /* Semaphore function initialization */
- result = SemaphoreInit();
- if (result != RET_NORMAL) { // LCOV_EXCL_BR_LINE 200: can not be not normal
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "SemaphoreInit ERROR!! [result=%d]", \
- result);
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- _pb_Exit(); // LCOV_EXCL_LINE 200: function can not be not normal
- }
-
- /* Memory function initialization */
- result = MemoryInit();
- if (result != RET_NORMAL) { // LCOV_EXCL_BR_LINE 200: can not be not normal
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "MemoryInit ERROR!! [result=%d]", result);
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- _pb_Exit(); // LCOV_EXCL_LINE 200: can not be not normal
- }
-
- /* Event function initialization */
- result = EventInit();
- if (result != RET_NORMAL) { // LCOV_EXCL_BR_LINE 200: can not be not normal
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "EventInit ERROR!! [result=%d]", result);
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- _pb_Exit(); // LCOV_EXCL_LINE 200: function can not be not normal
- }
-
- /* Message function initialization */
- result = MsgInit();
- if (result != RET_NORMAL) { // LCOV_EXCL_BR_LINE 200: can not be not normal
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "MsgInit ERROR!! [result=%d]", result);
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- _pb_Exit(); // LCOV_EXCL_LINE 200: can not be not normal
- }
-
- result = ErrTrapInit();
- if (result != RET_NORMAL) { // LCOV_EXCL_BR_LINE 200: can not be not normal
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "ErrTrapInit ERROR!! [result=%d]", result);
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- _pb_Exit(); // LCOV_EXCL_LINE 200: can not be not normal
- }
-
- /* For Positioning processes */
- if (_tcscmp("Positioning", FrameworkunifiedGetAppName(h_app)) == 0) { // LCOV_EXCL_BR_LINE 200: can not be other value
- /* Timer function initialization */
- result = TimerInit(h_app);
- if (result != RET_NORMAL) { // LCOV_EXCL_BR_LINE 200: can not be not normal
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, \
- "TimerInit ERROR!! [result=%d]", result);
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- _pb_Exit(); // LCOV_EXCL_LINE 200: can not be not normal
- }
- }
-
- i = 1;
- }
-
- BaseUnlockMutex(); /* Release Mutex */
- }
-
- /* Set application handle */
- _pb_SetAppHandle(h_app);
-
- return RET_NORMAL;
-}
-
-/**
- * @brief
- * Teardown Base API
- *
- * Base API termination processing (Call per process)
- *
- * @param[in] none
- *
- * @return none
- */
-void _pb_Teardown_CWORD64_API(void) { // NOLINT(readability/nolint) API // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- /* Interprocess Lock Control(CLS) */
-
-
- /*
- Resources cannot be released unless it is guaranteed that other processes do not call the Positioning API.
- Even if the resource is not released at the time of termination, it will not lead to illegal operation such as memory leak.
- Comment out release processing.
- */
-
- /* Mutex */
- /* Semaphore */
- /* Memory */
- /* Event */
- /* Message */
-
- /* Timer */
-
- return;
-}
-// LCOV_EXCL_STOP
-
-
-/**
- * @brief
- * Create Mutex for Base API setups
- */
-static void BaseCreateMutex(void) {
- g_h_mtx = (HANDLE)CL_LockMap(LOCK_POS_MTX_1); // LCOV_EXCL_BR_LINE 4: nsfw error
- if (g_h_mtx == NULL) { // LCOV_EXCL_BR_LINE 4: nsfw error
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "CL_LockMap ERROR [g_h_mtx:%p]", g_h_mtx);
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- _pb_Exit(); // LCOV_EXCL_LINE 4: nsfw error
- /* don't arrive here. */
- }
-
- return;
-}
-
-/**
- * @brief
- * Get Mutex for Base API setups
- */
-static void BaseLockMutex(void) {
- int32 ret;
-
- ret = CL_LockGet(g_h_mtx); // LCOV_EXCL_BR_LINE 4: nsfw error
- if (ret != 0) { // LCOV_EXCL_BR_LINE 4: nsfw error
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "CL_LockGet ERROR [g_h_mtx:%p, ret:%d]", \
- g_h_mtx, ret);
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- _pb_Exit(); // LCOV_EXCL_LINE 4: nsfw error
- /* don't arrive here. */
- }
-
- return;
-}
-
-/**
- * @brief
- * Release Mutex for Base API Setup
- */
-static void BaseUnlockMutex(void) {
- int32 ret;
-
- ret = CL_LockRelease(g_h_mtx); // LCOV_EXCL_BR_LINE 4: nsfw error
- if (ret != 0) { // LCOV_EXCL_BR_LINE 4: nsfw error
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "CL_LockRelease ERROR [g_h_mtx:%p, ret:%d]", \
- g_h_mtx, ret);
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- _pb_Exit(); // LCOV_EXCL_LINE 4: nsfw error
- /* don't arrive here. */
- }
-
- return;
-}
-
diff --git a/video_in_hal/vehicleservice/positioning_base_library/library/src/_pbCSection.cpp b/video_in_hal/vehicleservice/positioning_base_library/library/src/_pbCSection.cpp
deleted file mode 100755
index e144d6f..0000000
--- a/video_in_hal/vehicleservice/positioning_base_library/library/src/_pbCSection.cpp
+++ /dev/null
@@ -1,131 +0,0 @@
-/*
- * @copyright Copyright (c) 2016-2020 TOYOTA MOTOR CORPORATION.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/*******************************************************************************
-* $Header:: $
-* $Revision:: $
-*******************************************************************************/
-
-/****************************************************************************
- * File name :_pbCSection.cpp
- * System name :GPF
- * Subsystem name :_CWORD64_API Critical Section Function
- * Title :Critical Section Function Definition File
- ****************************************************************************/
-
-#include <fcntl.h>
-#include <sys/mman.h>
-#include <vehicle_service/positioning_base_library.h>
-#include "WPF_STD_private.h"
-#include "_pbInternalProc.h"
-
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-* MODULE : PbDeleteCriticalSection()
-* ABSTRACT : Specify a critical section object that is not owned and free all resources used by that object.
-* NOTE :
-* ARGUMENT : LPCRITICAL_SECTION lp_critical_section
-* RETURN : VOID defined
-* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-VOID PbDeleteCriticalSection(LPCRITICAL_SECTION lp_critical_section) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- int32 lret = EOK;
-
- if (lp_critical_section == NULL) {
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__,
- "_CWORD64_api.dll:%s:LINE %d\r\n Parameter ERROR In PbDeleteCriticalSection\r\n",
- LTEXT(__FILE__), __LINE__);
- } else {
- lret = pthread_mutex_destroy(lp_critical_section);
- if (lret != EOK) {
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__,
- "_CWORD64_api.dll:%s:LINE %d\r\n ERROR ... ErrNo[%d] In PbDeleteCriticalSection\r\n",
- LTEXT(__FILE__), __LINE__, lret);
- }
- }
-
- return;
-}
-// LCOV_EXCL_STOP
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-* MODULE : PbEnterCriticalSection()
-* ABSTRACT : Wait to take ownership of the specified critical section object
-* NOTE :
-* ARGUMENT : LPCRITICAL_SECTION lp_critical_section
-* RETURN : VOID defined
-* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-VOID PbEnterCriticalSection(LPCRITICAL_SECTION lp_critical_section) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- int32 lret = EOK;
-
- if (lp_critical_section == NULL) {
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__,
- "_CWORD64_api.dll:%s:LINE %d\r\n Parameter ERROR In PbEnterCriticalSection\r\n",
- LTEXT(__FILE__), __LINE__);
- } else {
- lret = pthread_mutex_lock(lp_critical_section);
- if (lret != EOK) {
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__,
- "_CWORD64_api.dll:%s:LINE %d\r\n ERROR ... ErrNo[%d] In PbEnterCriticalSection\r\n",
- LTEXT(__FILE__), __LINE__, lret);
- }
- }
-
- return;
-}
-// LCOV_EXCL_STOP
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-* MODULE : PbInitializeCriticalSection
-* ABSTRACT : Initialize the specified critical section object.
-* NOTE :
-* ARGUMENT : LPCRITICAL_SECTION lp_critical_section
-* RETURN : VOID defined
-* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-VOID PbInitializeCriticalSection(LPCRITICAL_SECTION lp_critical_section) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
-}
-// LCOV_EXCL_STOP
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-* MODULE : PbLeaveCriticalSection
-* ABSTRACT : Discard ownership of the specified critical section object.
-* NOTE :
-* ARGUMENT : LPCRITICAL_SECTION lp_critical_section
-* RETURN : VOID defined
-* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-VOID PbLeaveCriticalSection(LPCRITICAL_SECTION lp_critical_section ) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- int32 lret = EOK;
-
- if (lp_critical_section == NULL) {
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__,
- "_CWORD64_api.dll:%s:LINE %d\r\n Parameter ERROR In PbLeaveCriticalSection\r\n",
- LTEXT(__FILE__), __LINE__);
- } else {
- lret = pthread_mutex_unlock(lp_critical_section);
- if (lret != EOK) {
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__,
- "_CWORD64_api.dll:%s:LINE %d\r\n ERROR ... ErrNo[%d] In PbLeaveCriticalSection\r\n",
- LTEXT(__FILE__), __LINE__, lret);
- }
- }
-
- return;
-}
-// LCOV_EXCL_STOP
-
diff --git a/video_in_hal/vehicleservice/positioning_base_library/library/src/_pbCommon.cpp b/video_in_hal/vehicleservice/positioning_base_library/library/src/_pbCommon.cpp
deleted file mode 100755
index 6bb4fb9..0000000
--- a/video_in_hal/vehicleservice/positioning_base_library/library/src/_pbCommon.cpp
+++ /dev/null
@@ -1,928 +0,0 @@
-/*
- * @copyright Copyright (c) 2016-2020 TOYOTA MOTOR CORPORATION.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/*
-* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- File name : _pbCommon.cpp
- System name : 05 Integration Platform
- Subsystem name : System wide functions
- Title : System API _CWORD64_ configuration processes
-* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-*/
-#include <string.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <vehicle_service/positioning_base_library.h>
-
-#include "_pbCommon.h"
-#include "WPF_STD_private.h"
-#include "sysup_addr.h"
-#include "tchar.h"
-#include "sysup.h"
-
-/*
- Constants and data type definitions
-* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-#define BLOCK_SIZE (1*1024*1024)
-#define WDTC_REG_ADDR (0x13500000 | ADDR_P2) /* WDT clear register address */
-#define SUM_ZERO 0
-#define ALLOC_SIZE 0x00200000
-#define EXIST_CLEAR 0x434c4f4b /* Flag to indicate cleared Non-OS management area */
-
-#define PRCM_BASE 0x48180000
-#define PRM_RSTCTRL 0xA0
-
-#define RST_GLOBAL_COLD_SW (0x01 << 1)
-#define RST_GLOBAL_WARM_SW (0x01 << 0)
-
-/*
- Internal function prototype declarations
-* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-u_int32 RomCheck(u_int32 *start_addr, u_int32 check_size);
-u_int32 RomCheckEx(u_int32 *start_addr, u_int32 check_size);
-uint64_t AtoxLong(char* str, unsigned int ascii_size);
-void XtoaLong(uint64_t x, char* str);
-#ifdef PBCOM_CONFIGREAD
-static RET_API SysGetConfigSize(FILE*, u_int32*);
-static RET_API SysReadConfigInfo(FILE*, TCHAR*, TCHAR*, u_int32);
-static int SysUniToInt(TCHAR*, u_int32);
-#endif /* PBCOM_CONFIGREAD */
-
-/*
- External function prototype declarations
-* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-
-/*
- Global Variable Definitions
-* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-#ifdef PSL_USED
-extern int g_n_api_set_id; /* ID variable for PSL registration */
-#endif // PSL_USED
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : _CWORD64_NotOSAreaInit
- * ABSTRACT : Initialization non-OS managed areas of _CWORD64_
- * NOTE : This function initializes the non-OS control areas of _CWORD64_.
- * ARGUMENT : None
- * RETURN : RET_API defined
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-RET_API
-_CWORD64_NotOSAreaInit(void) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
-#ifndef CEPC_EM /* If not emulated in CEPC */
- RET_API ret;
- char *cp_addr = NULL;
- u_int32 size;
- u_int32 *p_clear_flag; /* Pointer for storing non-OS management area clear flag */
- LPVOID notos_topaddr;
-
- /* Link of shared memory area to store the non-OS management area clear flag */
- ret = _pb_LinkShareData(const_cast<char*>("NOTOS_DATA"), reinterpret_cast<void**>(&cp_addr), &size);
- if (ret != RET_NORMAL) {
- /* Create a shared memory area to store the non-OS management area clear flag */
- Memset64pSync(cp_addr, 0, sizeof(p_clear_flag)); /* NULL initialization process of acquisition area */
- }
-
- p_clear_flag = reinterpret_cast<u_int32*>(cp_addr);
-
- /* Non-OS management area clear processing */
- /* Because an exception occurs when garbage data remains in the message pool at startup,
- Clear the entire non-OS management area as 0 Only for the first time after startup. */
- if (*p_clear_flag != EXIST_CLEAR) {
- /* Execute mapping to non-OS management area */
- ret = PbAccessPhysicalMem(TOP_ADDR_NOTOS, /* Start address non-OS management area for of the _CWORD64_ */
- &notos_topaddr, /* Start address of the mapping */
- NOTOS_SISE, /* Area-size */
- 0);
-
- /* failed mapping */
- if (ret != RET_NORMAL) {
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__,
- "_CWORD64_msg.lib:%s:LINE %d\r\n PbAccessPhysicalMem ERROR In " \
- "_CWORD64_NotOSAreaInit ... ret[%d] \r\n",
- LTEXT(__FILE__), __LINE__, ret);
- _pb_Exit();
- }
-
- /* Non-OS management area clear processing */
- Memset64pSync(notos_topaddr, 0, NOTOS_SISE);
-
- /* Shared area release processing */
- ret = PbFreePhysicalMem(TOP_ADDR_NOTOS, /* Start address of the _CWORD64_ non-OS management area */
- notos_topaddr, /* Start address of the mapped area */
- NOTOS_SISE); /* Size */
-
- if (ret != RET_NORMAL) {
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__,
- "_CWORD64_msg.lib:%s:LINE %d\r\n PbFreePhysicalMem ERROR " \
- "In_CWORD64_NotOSAreaInit ... ret[%d] \r\n",
- LTEXT(__FILE__), __LINE__, ret);
- _pb_Exit();
- }
-
- *p_clear_flag = EXIST_CLEAR; /* Set non-OS management area clear flag */
- }
-#endif
-
- return(RET_NORMAL);
-}
-// LCOV_EXCL_STOP
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : _CWORD64_APIInit
- * ABSTRACT : System initialization of _CWORD64_API
- * NOTE : This function is called once from the initialization process
- * : at system startup to perform the _CWORD64_API initialization process.
- * ARGUMENT : u_int32 (*sighand)() Completion of signal handling within APIs if NULL
- * : Otherwise calls this first when a signal is raised
- * RETURN : RET_API defined
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-RET_API
-_CWORD64_APIInit(u_int32 (*sighand)()) { // NOLINT(readability/nolint) API // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- RET_API RetSts = RET_ERROR;
-
- if (sighand == NULL) {
- /* Parameter is set to an error other than NULL */
- RetSts = _pb_Setup_CWORD64_API(NULL); /* Execute initialization processing for normal processing */
- }
-
- return(RetSts);
-}
-// LCOV_EXCL_STOP
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : _pb_GetPrgVer
- * ABSTRACT : Get the program version
- * NOTE : Get the program version of the mask ROM (BootLoader) and flash
- * : ROM (NK-image) into specified buffers.
- * : In hardware-independent CEPC emulation environment, return the following version,
- * : otherwise always return RET_NORMAL as the return value.
- * : mask_ver=0x0102 0304 0506 0708
- * : flash_ver1=0x0102 0304 0506 0708
- * : flash_ver2=0x0102 0304 0506 0708
- * : flash_ver3=0x0102 0304 0506 0708
- * ARGUMENT : T_SYS_PRGVER *pbuf Destination buffer address
- * RETURN : RET_API defined
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-RET_API
-_pb_GetPrgVer(T_SYS_PRGVER *pbuf) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- return(RET_NORMAL);
-}
-// LCOV_EXCL_STOP
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : _pb_UpManage
- * ABSTRACT : Boot management process
- * NOTE : Set the startup identifier in the SDRAM startup identification table (SDRAM)
- * : or TinyFugue area (FLASH) at the next startup.
- * : Which one to set depends on the table type of the argument.
- * : Soft reset is performed when reset is instructed by the parameter.
- * : In hardware-independent CEPC emulation environment, return the RET_NORMAL as the return value without recording the startup identifier.
- * ARGUMENT : u_int16 up_sts :Startup Identifier Value
- * : int reset :Reset instruction
- * : u_int8 table :Table Type
- * RETURN : RET_API defined
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-RET_API
-_pb_UpManage(u_int32 up_sts, int reset, u_int8 table) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- /* Is reset instructed? */
- if ((reset == SYS_RESET) || (reset == SYS_ONLY_RESET)) {
- PbReset(); /* Soft reset */
- }
-
- return RET_NORMAL;
-}
-// LCOV_EXCL_STOP
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : _pb_RomcheckMask
- * ABSTRACT : Check the sum value of masked part
- * NOTE : Check the sum value of the mask ROM (BOOTROM)
- * ARGUMENT : None
- * RETURN : RET_API RET_NORMAL :Sum value normal
- * REL_ERROR :Sum value error
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-RET_API
-_pb_RomcheckMask(void) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- return(RET_NORMAL);
-}
-// LCOV_EXCL_STOP
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : _pb_RomcheckApl
- * ABSTRACT : Check sum value of APL part (NK image)
- * NOTE : In hardware-independent CEPC emulations do nothing and return RET_NORMAL.
- * ARGUMENT :
- * RETURN : RET_API RET_NORMAL :Sum Value Normal
- * REL_ERROR :Sum value error
- * RET_OSERROR :AccessPhysicalMem error
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-RET_API
-_pb_RomcheckApl(void) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- return(RET_NORMAL);
-}
-// LCOV_EXCL_STOP
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : PbReset
- * ABSTRACT : Hard reset processing
- * NOTE : Manipulate the WDT control register to generate a hard reset
- * : Hardware-independent CEPC emulations do nothing and return RET_NORMAL.
- * ARGUMENT : void
- * RETURN : None
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-void
-PbReset(void) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
-
- /* Message log output processing */
- FRAMEWORKUNIFIEDLOG(ZONE_INFO, __FUNCTION__, " PbReset:%s:LINE %d\r\n #### HARD RESET !! ####\r\n",
- LTEXT(__FILE__), __LINE__);
-}
-// LCOV_EXCL_STOP
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : _pb_GetDeviceInfo
- * ABSTRACT : Getting device information
- * NOTE : Gets device information into the specified buffer.
- * : In hardware-independent CEPC emulations, the following device
- * : information is returned permanently. The return value is always RET_NORMAL.
- * : _CWORD31__no="8611052060010001" mci_no="CNCS0200A" date="200301011200"
- * ARGUMENT : T_SYS_PRGVER *pbuf Destination buffer address
- * RETURN : RET_API defined
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-RET_API
-_pb_GetDeviceInfo(T_SYS_DEVINFO *pbuf) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- return(RET_NORMAL);
-}
-// LCOV_EXCL_STOP
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : _pb_WriteDeviceInfo
- * ABSTRACT : Write device key information
- * NOTE : Write device key information to flash memory
- * ARGUMENT : u_char *ucpData Start address of write data (256 bytes)
- * RETURN : int32 VUP_SUCCESS Flash write complete
- * : VUP_FAILED Flash write abend
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-int32
-_pb_WriteDeviceInfo(u_char *ucpData) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- return(RET_NORMAL);
-}
-// LCOV_EXCL_STOP
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : _pb_GetSramVer
- * ABSTRACT : SRAM versioning process
- * NOTE : Getting SRAM version
- * : In hardware-independent CEPC emulations, return the following SRAM Version statically.
- * : The return value is always RET_NORMAL.
- * : SRAM Version=0x1112 1314
- * ARGUMENT : char *pbuf Destination buffer address
- * RETURN : RET_API defined
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-RET_API
-_pb_GetSramVer(char *pbuf) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- return(RET_NORMAL);
-}
-// LCOV_EXCL_STOP
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : _pb_GetDisplayInfo
- * ABSTRACT : Getting display information
- * NOTE : Get the screen size (width and height) into the buffer of the DISPLAY_INFO structure
- * ARGUMENT : DISPLAY_INFO *pSystemInfo Screen size acquisition destination buffer address
- * RETURN : RET_API defined
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-#define DISPLAYINFO_SUBKEY_SIZE 56
-#define DISPLAYINFO_VALNAME_SIZE 16
-#define DISPLAYINFO_VAL_SIZE 8
-
-RET_API
-_pb_GetDisplayInfo(DISPLAY_INFO *pSystemInfo) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
-#ifdef PBCOM_CONFIGREAD
- FILE* fpConfigFile = NULL; /* Configuration file handle */
- TCHAR tcData[DISPLAYINFO_VAL_SIZE] = {0}; /* Data section read buffer */
- TCHAR tcDataName[DISPLAYINFO_VALNAME_SIZE] = {0}; /* Data information storage buffer */
- int iRet = PBCOM_API_NORMAL; /* API return value */
-#endif
- int iHeight = 0; /* Screen height information */
- int iWidth = 0; /* Screen width information */
- RET_API Retapi = RET_NORMAL; /* Results of this Module process */
-
- /************************************************************
- * Parameter check
- ************************************************************/
- if (NULL == pSystemInfo) {
- /* Parameter is set to error */
- Retapi = RET_ERRPARAM;
- }
-
- /************************************************************
- * Set the information in the configuration file
- ************************************************************/
-#ifdef PBCOM_CONFIGREAD
- /************************************************************
- * Open configuration file
- ************************************************************/
- if (RET_NORMAL == Retapi) {
- fpConfigFile = fopen(PBCOM_CONFIGFILE, "r");
- if (NULL == fpConfigFile) {
- /* Set error in as a result */
- Retapi = RET_ERROR;
- }
- }
-
- /************************************************************
- * Get screen width information from configuration file
- ************************************************************/
- if (RET_NORMAL == Retapi) {
- /* Buffer clear */
- memset(tcData, 0x00, sizeof(tcData));
- memset(tcDataName, 0x00, sizeof(tcDataName));
-
- /* Data information setting */
- memcpy(tcDataName, PBCOM_CONFIG_INDEX_SCRWIDTH, strlen(PBCOM_CONFIG_INDEX_SCRWIDTH));
-
- /************************************************************
- * Setting file information reading process
- ************************************************************/
- Retapi = SysReadConfigInfo(fpConfigFile, tcDataName, tcData, (u_int32)sizeof(tcData));
-
- /************************************************************
- * Conversion process from character string (UNICODE) to numeric
- ************************************************************/
- if (RET_NORMAL == Retapi) {
- /* Conversion from string to numeric */
- iHeight = SysUniToInt(tcData, strlen(tcData));
- }
- }
-
- /************************************************************
- * Get screen height information from setting file
- ************************************************************/
- if (RET_NORMAL == Retapi) {
- /* Buffer clear */
- memset(tcData, 0x00, sizeof(tcData));
- memset(tcDataName, 0x00, sizeof(tcDataName));
-
- /* Data information setting */
- memcpy(tcDataName, PBCOM_CONFIG_INDEX_SCRHEIGHT, strlen(PBCOM_CONFIG_INDEX_SCRHEIGHT));
-
- /************************************************************
- * Setting file information reading process
- ************************************************************/
- Retapi = SysReadConfigInfo(fpConfigFile, tcDataName, tcData, (u_int32)sizeof(tcData));
-
- /************************************************************
- * Conversion process from character string (UNICODE) to numeric
- ************************************************************/
- if (RET_NORMAL == Retapi) {
- /* Conversion from string to numeric */
- iWidth = SysUniToInt(tcData, strlen(tcData));
- }
- }
-
- /************************************************************
- * Configuration file close
- ************************************************************/
- /* Executed only when the open is successful. */
- if (NULL != fpConfigFile) {
- iRet = fclose(fpConfigFile);
- if (PBCOM_API_NORMAL != iRet) {
- Retapi = RET_ERROR;
- }
- }
-
- /************************************************************
- * Direct value setting
- ************************************************************/
-#else
- iHeight = 480;
- iWidth = 800;
-#endif
- /************************************************************
- * Display information setting
- ************************************************************/
-
- if (RET_NORMAL == Retapi) {
- /* Coverity CID: 18756 compliant */
- pSystemInfo->i_height_size = iHeight;
- pSystemInfo->i_width_size = iWidth;
- } /* Coverity CID: 18756 compliant */
-
- return Retapi;
-}
-// LCOV_EXCL_STOP
-
-/******************************************************************************
-* MODULE : RomCheck
-* ABSTRACT : Calculate sum value within range of address specified by argument
-* FUNCTION : u_int32 RomCheck()
-* ARGUMENT : u_int32 *addr Start address for which sum value is to be calculated
-* u_int32 check_size Size for which the sum is to be calculated
-* NOTE :
-* RETURN : u_int32 sum Sum value
-******************************************************************************/
-u_int32
-RomCheck(u_int32 *start_addr, u_int32 check_size) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- u_int32 *addr_tmp;
- u_int32 *end_addr;
- u_int32 sum;
-
- end_addr = start_addr + check_size / sizeof(u_int32);
- addr_tmp = start_addr;
-
- for (sum = 0; addr_tmp < end_addr;) {
- sum += *(addr_tmp++);
- }
- return(sum);
-}
-// LCOV_EXCL_STOP
-
-/******************************************************************************
-* MODULE : RomCheckEx
-* ABSTRACT : Calculate sum value in range of address on ROM specified by argument
-* FUNCTION : u_int32 RomCheckEx()
-* ARGUMENT : u_int32 *addr Start address for which sum value is to be calculated
-* u_int32 check_size Size for which the sum is to be calculated
-* NOTE : For single operation(For a one-bank configuration). APIs provided by FROM management
-* are used because FROM management must be exclusively controled.
-* The sum calculation unit is assumed to be the sector size of FlashROM.
-* RETURN : u_int32 sum Sum value
-* When this function terminates with an error, "RET_ERROR" is returned.
-******************************************************************************/
-u_int32
-RomCheckEx(u_int32 *start_addr, u_int32 check_size) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- return(0);
-}
-// LCOV_EXCL_STOP
-
-/*******************************************************************************
- * MODULE : AtoxLong
- * ABSTRACT : Convert ASCII to hex
- * FUNCTION : Convert a ASCII string (up to 8 characters) to a uint64_t hexadecimal string
- * NOTE :
- * RETURN : uint64_t :Converted hexadecimal number (up to 8 digits)
- * INPUT : char *str -------------------- Pointer to a source ASCII string
- * unsigned int ascii_size ------ Number of characters in source ASCII string
- * OUTPUT :
- ******************************************************************************/
-uint64_t AtoxLong(char* str, unsigned int ascii_size) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- uint64_t x = 0; /* Return value */
- unsigned int i; /* For work */
- unsigned int tmp; /* For work */
-
- /* Check that the specified ASCII number of characters does not exceed the number of digits represented by int64_t (8 hexadecimal digits). */
- if (ascii_size > (sizeof(x)) * 2) {
- ascii_size = static_cast<unsigned int>(sizeof(x) * 2);
- }
- /* Convert one character at a time to hexadecimal */
- for (i = 0; i < ascii_size; i++) {
- /* Is a number? */
- tmp = *str - '0';
- if (tmp > 9) {
- /* Coverity CID: 18790 compliant */
- /* a-f? */
- tmp = *str - 'a' + 10;
- if ((tmp < 0x0a) || (tmp > 0x0f)) {
- /* A to F ? */
- tmp = *str - 'A' + 10;
- if ((tmp < 0x0a) || (tmp > 0x0f)) {
- /* Stop when a non-hexadecimal value is found */
- break;
- }
- }
- }
-
- /* Increase the digit */
- x <<= 4;
- /* Add to the bottom digit */
- x |= tmp;
- str++;
- }
-
- return x;
-}
-// LCOV_EXCL_STOP
-
-/*******************************************************************************
- * MODULE : XtoaLong
- * ABSTRACT : Convert HEX to ASCII
- * FUNCTION : This function converts the 8-digit hexadecimal number from str[0] to the ASCII code and stores the code.
- * NOTE : The string to be passed as *str must be at least 8 characters in length. * RETURN :
- * INPUT : uint64_t x ------------ Source hexadecimal number
- * OUTPUT : char* str ------------------ Converted ASCII Strings (8 Characters)
- ******************************************************************************/
-void XtoaLong(uint64_t x, char* str) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- int i; /* For looping */
- int size; /* For looping */
- char tmp; /* Conversion temporary buffer */
-
- /* Maximum number of loops (for character string) */
- size = static_cast<int>(sizeof(int64_t) * 2);
- /* Convert eight digits */
- for (i = 0; i < size; i++) {
- tmp = static_cast<char>((x >> ((size - i - 1) * 4)) & 0x0F);
-
- /* For 0xA to 0xF */
- if (tmp > 0x09) {
- str[i] = static_cast<char>('A' + tmp - 0x0A);
- } else {
- str[i] = static_cast<char>('0' + tmp);
- }
- }
-}
-// LCOV_EXCL_STOP
-
-/******************************************************************************
-* MODULE : _pb_SendSystemError
-* ABSTRACT : System error notification
-* FUNCTION : Notify the system error and reset the software.
-* ARGUMENT : PNO pno Error process No.
-* int32 errcode Error code
-* NOTE : _pb_SndMsg : Send message (System API)
-* _sys_GetPno : PNO to be gotten
-* RETURN : RET_API defined
-******************************************************************************/
-RET_API _pb_SendSystemError(PNO pno, int32 errcode) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- T_SYS_SYSTEMERROR msg; /* Message */
- register T_APIMSG_HEADER *hdr; /* Message header */
- RET_API api_ret;
-
- /* Message Header Settings */
- hdr = &(msg.bhead.hdr);
-
- msg.bhead.signo = 0; /* Extension member */
- hdr->sndpno = 0; /* Source Process No. */
- hdr->respno = 0; /* Response destination process No.(None) */
- hdr->cid = CID_INI_SYSTEMERR; /* Command ID */
- hdr->msgbodysize = static_cast<uint16_t>(sizeof(T_SYS_SYSTEMERROR) - sizeof(T_APIMSG_MSGBUF_HEADER));
- /* Main unit size */
- hdr->rid = 0; /* Resources ID (Dummy) */
- hdr->reserve = 0;
- msg.pno = pno; /* Error process No. */
- msg.errcode = errcode; /* Error code */
-
- /* Send Message */
- api_ret = _pb_SndMsg(PNO_GINI_MAIN, sizeof(msg), &msg, 0);
-
- return(api_ret);
-}
-// LCOV_EXCL_STOP
-
-/******************************************************************************
-* MODULE : _pb_GetVupFileName
-* ABSTRACT : Getting the version upgrade file name
-* FUNCTION : Get the path name and file name of the version upgrade.
-* ARGUMENT : LPTSTR filename File name storage
-* u_char media Container media
-* NOTE :
-* RETURN : RET_API defined
-******************************************************************************/
-RET_API _pb_GetVupFileName(LPTSTR filename , u_char media) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- RET_API api_ret = RET_NORMAL; /* API return value */
- T_SYS_PRGVER ver; /* Version Information */
- RET_API ret; /* Internal function return value */
- u_char kisyu; /* Storage of model code */
-
- /* Get version */
- ret = _pb_GetPrgVer(&ver);
-
- if (ret == RET_NORMAL) {
- /* Extract model code from version */
- kisyu = ver.mask_ver[3];
-
- /* If the media is a disk */
- if (media == VUP_GETNAME_MEDIA_DISC) {
- _stprintf(filename, _T("%s%s%s%02x%s"),
- VUP_DISC_PATHNAME, VUP_PATHNAME_SYSTEM, VUP_FNAME_TOP, kisyu, VUP_FNAME_BTM);
- } else {
- /* Media is USB */
- _stprintf(filename, _T("%s%s%s%02x%s"),
- VUP_USB_PATHNAME, VUP_PATHNAME_SYSTEM, VUP_FNAME_TOP, kisyu, VUP_FNAME_BTM);
- }
- } else {
- api_ret = RET_ERROR;
- }
-
- return(api_ret);
-}
-// LCOV_EXCL_STOP
-
-/******************************************************************************
-* MODULE : _pb_GetForceVupFileName
-* ABSTRACT : Getting the version upgrade file name
-* FUNCTION : Get the path name and file name of the version upgrade.
-* ARGUMENT : LPTSTR filename File name storage
-* u_char media Container media
-* NOTE :
-* RETURN : RET_API defined
-******************************************************************************/
-RET_API _pb_GetForceVupFileName(LPTSTR filename , u_char media) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- RET_API api_ret = RET_NORMAL; /* API return value */
-
- /* If the media is a disk */
- if (media == VUP_GETNAME_MEDIA_DISC) {
- _stprintf(filename, _T("%s%s%s"),
- VUP_DISC_PATHNAME, VUP_PATHNAME_SYSTEM, VUP_FNAME_FORCEVUP);
- } else {
- /* Media is USB */
- _stprintf(filename, _T("%s%s%s"),
- VUP_USB_PATHNAME, VUP_PATHNAME_SYSTEM, VUP_FNAME_FORCEVUP);
- }
-
- return(api_ret);
-}
-// LCOV_EXCL_STOP
-
-#ifdef PBCOM_CONFIGREAD
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : SysGetConfigSize
- * ABSTRACT : Setting file size acquisition processing
- * NOTE : Get file size.
- * : When this Module is called, an area must be allocated at a higher level.
- * : Parameter checking is not performed in this Module.
- * ARGUMENT : FILE* fpFile(File handle)
- * : int* piSize(File size storage area)
- * RETURN : RET_API defined
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-static RET_API
-SysGetConfigSize(FILE* fpFile, u_int32* puiSize) {
- int64_t lCurrentPos = 0; /* File current position */
- int64_t lEndPos = 0; /* End position of the file */
- int iRet = PBCOM_API_NORMAL; /* API processing result */
- RET_API Retapi = RET_NORMAL; /* Result of this Module process */
-
- /************************************************************
- * Get current offset
- ************************************************************/
- lCurrentPos = ftell(fpFile);
-
- /* If the return value is abnormal, the processing result is set to abnormal. */
- if (PBCOM_API_ERROR == lCurrentPos) {
- Retapi = RET_ERROR;
- }
-
- /************************************************************
- * Get end offset (size)
- * -Set offset to end-of-file
- * -Get end-of-file offset
- ************************************************************/
- if (RET_NORMAL == Retapi) {
- /* Set offset to end-of-file */
- iRet = fseek(fpFile, 0L, SEEK_END);
-
- /* If the return value is abnormal, the processing result is set to abnormal. */
- if (PBCOM_API_NORMAL != iRet) {
- Retapi = RET_ERROR;
- }
- }
-
- if (RET_NORMAL == Retapi) {
- /* Get end-of-file offset */
- lEndPos = ftell(fpFile);
-
- /* Set file size if the return value is normal */
- if (PBCOM_API_ERROR != lEndPos) {
- *puiSize = (u_int32)lEndPos;
- } else {
- /* If the return value is abnormal, the processing result is set to abnormal. */
- Retapi = RET_ERROR;
- }
- }
-
- /************************************************************
- * Revert current offset
- ************************************************************/
- if (RET_NORMAL == Retapi) {
- /* Revert offset and complete processing */
- iRet = fseek(fpFile, lCurrentPos, SEEK_SET);
-
- /* If the return value is abnormal, the processing result is set to abnormal. */
- if (PBCOM_API_NORMAL != iRet) {
- Retapi = RET_ERROR;
- }
- }
-
- return Retapi;
-}
-#endif /* PBCOM_CONFIGREAD */
-
-#ifdef PBCOM_CONFIGREAD
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : SysReadConfigInfo
- * ABSTRACT : Setting file information reading process
- * NOTE : Read the data associated with the specified data information from the configuration file.
- * : When this module is called, an area must be allocated at a higher level.
- * : Parameter checking is not performed in this module.
- * ARGUMENT : FILE* fpConfig(File handle)
- * : TCHAR* tcDataIndex(Data information)
- * : TCHAR* tcDataBuf(Data read buffer)
- * : int tcDataSize(Data read size)
- * RETURN : RET_API defined
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-static RET_API
-SysReadConfigInfo(FILE* fpConfig, TCHAR* tcDataIndex, TCHAR* tcDataValue, u_int32 tcDataSize) {
- TCHAR tcReadBuf[PBCOM_CONFIGSIZE_MAX] = {0}; /* Read buffer */
- u_int32 uiDataPos = 0; /* Data position */
- u_int32 uiCpyPos = 0; /* Copy position */
- u_int32 uiFileSize = 0; /* File size */
- u_int32 uiReadSize = 0; /* Data read size */
- u_int32 uiDataNum = 0; /* Number of read data */
- int iRet = 0; /* API processing result */
- RET_API Retapi = RET_NORMAL; /* Result of this Module process */
-
- /************************************************************
- * Get setting file size
- ************************************************************/
- /* Get setting file size */
- Retapi = SysGetConfigSize(fpConfig, &uiFileSize);
-
- /* When the setting file size is gotten successfully */
- if (RET_NORMAL == Retapi) {
- /* The maximum size of the configuration file is greater than or equal to the maximum size of the configuration file. */
- if (uiFileSize > PBCOM_CONFIGSIZE_MAX) {
- /* Set the maximum value of the configuration file as the size */
- uiFileSize = PBCOM_CONFIGSIZE_MAX;
- }
- }
-
- /************************************************************
- * Read setting file
- ************************************************************/
- if (RET_NORMAL == Retapi) {
- /* Read data count */
- uiDataNum = uiFileSize / sizeof(TCHAR);
-
- /* Set file pointer to the beginning of file */
- rewind(fpConfig);
-
- /* Read the data */
- uiReadSize = fread(tcReadBuf, sizeof(TCHAR), uiDataNum, fpConfig);
-
- /* When the data corresponding to the file size cannot be read */
- if (uiReadSize != uiFileSize) {
- /* Set error in processing result */
- Retapi = RET_ERROR;
- }
- }
-
- /************************************************************
- * Data information search & retrieval
- * -Find data information from the configuration file you read
- * -Read associated data if data information can be found
- ************************************************************/
- if (RET_NORMAL == Retapi) {
- /* Set error to processing result (Set normal when search is normal) */
- Retapi = RET_ERROR;
-
- for (uiDataPos = 0; uiDataPos < uiDataNum; uiDataPos++) {
- /* Determine file information */
- iRet = memcmp(&tcReadBuf[uiDataPos], tcDataIndex, strlen(tcDataIndex));
-
- /************************************************************
- * If the applicable data information(Data information matched)
- ************************************************************/
- if (0 == iRet) {
- /* Move to data position (Move file information)*/
- uiDataPos += strlen(tcDataIndex) / sizeof(TCHAR);
-
- /* Set normal to processing result for data discovery */
- Retapi = RET_NORMAL;
-
- /************************************************************
- * Data read processing
- * -Read data from the read data size
- * -Assume that he end of the data has been reached when the following conditions are met
- * NULL character code
- * Line feed character code
- * The data end of the configuration file is exceeded.
- ************************************************************/
- for (uiCpyPos = 0; uiCpyPos < tcDataSize; uiCpyPos++) {
- if (uiDataNum > uiDataPos) {
- /* Coverity CID: 18781 compliant */
- /* If it is valid data */
- if ((PBCOM_UNICODE_NUL != tcReadBuf[uiDataPos]) &&
- (PBCOM_UNICODE_LF != tcReadBuf[uiDataPos])) {
- /* Data setting*/
- tcDataValue[uiCpyPos] = tcReadBuf[uiDataPos];
- } else {
- /* Exit from this loop */
- break;
- }
- } else {
- /* When the end of data is reached */
- /* Exit from this loop */
- break;
- }
- /* Move the data position by the set amount */
- uiDataPos++;
- }
- /************************************************************
- * Completion of data information search
- ************************************************************/
- break;
- } else {
- /************************************************************
- * Not applicable data information(Data information mismatch)
- ************************************************************/
- /************************************************************
- * Move to next data information
- * -Determine supine data if following condition is met
- * Line feed character code
- * -End processing when the end of file is reached
- ************************************************************/
- while (uiDataPos < uiDataNum) {
- /* Data determination */
- if (PBCOM_UNICODE_LF == tcReadBuf[uiDataPos]) {
- /*Next Data Detection */
- break;
- }
- /* Move the data by the determined amount */
- uiDataPos++;
- }
- }
- }
- }
- return Retapi;
-}
-#endif /* PBCOM_CONFIGREAD */
-
-#ifdef PBCOM_CONFIGREAD
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : SysUniToInt
- * ABSTRACT : Converting from Unicode(string) to Int(number)
- * NOTE : Convert from Unicode(string) to Int(number).
- * : The number of characters that can be converted is defined in PBCOM_UTOIMAX_NUM.
- * : When this module is called, an area must be allocated at a higher level.
- * : Parameter checking is not performed in this module.
- * ARGUMENT : TCHAR* tcData(Character string storage area)
- * : int iDataSize(Character array size)
- * RETURN : Number converted from character string
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-static int SysUniToInt(TCHAR* tcData, u_int32 iDataSize) {
- int iValue = 0; /* Converted value */
- u_int8 ucCount = 0; /* Character string data position */
-
- /************************************************************
- * Parameter check
- ************************************************************/
- if (PBCOM_UTOIMAX_NUM < iDataSize) {
- iDataSize = PBCOM_UTOIMAX_NUM;
- }
-
- /************************************************************
- * Conversion from string to number
- ************************************************************/
- for (ucCount = 0; ucCount < iDataSize; ucCount++) {
- /*If it is a number */
- if ((tcData[ucCount] >= '0') &&
- (tcData[ucCount] <= '9')) {
- iValue = (iValue * 10) + (tcData[ucCount] - '0');
- } else {
- /* If it is not a digit */
- /* End of data */
- break;
- }
- }
- return iValue;
-}
-#endif /* PBCOM_CONFIGREAD */
-
-/*
-* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- End of File : _sysCommon.cpp
-* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-*/
-
diff --git a/video_in_hal/vehicleservice/positioning_base_library/library/src/_pbDram.cpp b/video_in_hal/vehicleservice/positioning_base_library/library/src/_pbDram.cpp
deleted file mode 100755
index eb70131..0000000
--- a/video_in_hal/vehicleservice/positioning_base_library/library/src/_pbDram.cpp
+++ /dev/null
@@ -1,284 +0,0 @@
-/*
- * @copyright Copyright (c) 2016-2020 TOYOTA MOTOR CORPORATION.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/*
-* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- File name : _pbDram.cpp
- System name : 05 Integration Platform
- Subsystem name : System common functions
- Title : System API
-* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-*/
-
-#include <vehicle_service/positioning_base_library.h>
-#include "WPF_STD_private.h"
-
-/*
- Constants and structure definitions
-* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-#define END 0xFFFFFFFF /* DRAM R/W check address table end flag */
-/* Definitions for CRC calculations */
-#define DIV_BYTE_DATA 0x000000FF
-#define CRC_INIT 0x00000000
-#define DATA_L_SHIFTNUM 8
-#define DATA_R_SHIFTNUM 24
-
-/*
- Global Variable Definitions
-* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-extern int g_n_api_set_id; /* ID variable for PSL registration */
-
-/*
-External function prototype declaration
-* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-#ifdef __cplusplus
-extern "C" {
-#endif
- BOOL VirtualCopy(LPVOID lpv_dest, LPVOID lpv_src, DWORD cb_size, DWORD fdw_protect);
-#ifdef __cplusplus
-};
-#endif
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : DramWt
- * ABSTRACT : DRAM self-refresh area write process
- * NOTE : Write the content of the buffer to the offset-position of the area of the specified DRAM ID.
- * Perform CRC calculation and add it to the end of the area
- * ARGUMENT : u_int8 id DRAM Area IDs
- * void *pbuf Source buffer pointer
- * u_int32 off Destination DRAM offsets(bytes)
- * u_int16 size Transfer data size(bytes)
- * RETURN : RET_API defineed
-* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-RET_API
-DramWt(u_int8 id, void *pbuf, u_int32 off, u_int16 size) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- RET_API ret = PbDramWt32(id, pbuf, off, (u_int32)size);
- return(ret);
-}
-// LCOV_EXCL_STOP
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : PbDramWt32
- * ABSTRACT : DRAM self-refresh area write process
- * NOTE : Write the content of the buffer to the offset-position of the area of the specified DRAM ID.
- * Perform CRC calculation and add it to the end of the area
- * ARGUMENT : u_int8 id DRAM Area IDs
- * void *pbuf Source buffer pointer
- * u_int32 off Destination DRAM offsets(bytes)
- * u_int32 size Transfer data size(bytes)
- * RETURN : RET_API defined
- * RETURN : RET_API defined
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-RET_API
-PbDramWt32(u_int8 id, void *pbuf, u_int32 off, u_int32 size) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- return(RET_NORMAL);
-}
-// LCOV_EXCL_STOP
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : DramRd
- * ABSTRACT : DRAM self-refresh area read process
- * NOTE : Write the offsets of the area of the specified DRAM ID to buffer.
- * ARGUMENT : u_int8 id DRAM Area IDs
- * u_int32 off Source DRAM Offsets(bytes)
- * void *pbuf Destination buffer pointer
- * u_int16 size Transfer data size(bytes)
- * RETURN : RET_API definef
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-RET_API
-DramRd(u_int8 id, u_int32 off, void *pbuf, u_int16 size) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- return(RET_NORMAL);
-}
-// LCOV_EXCL_STOP
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : DramRd32
- * ABSTRACT : DRAM self-refresh area read process
- * NOTE : Write the offsets of the area of the specified DRAM ID to buffer.
- * ARGUMENT : u_int8 id DRAM Area IDs
- * u_int32 off Source DRAM Offset(bytes)
- * void *pbuf Destination buffer pointer
- * u_int32 size Transfer data size(bytes)
- * RETURN : RET_API defined
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-RET_API
-DramRd32(u_int8 id, u_int32 off, void *pbuf, u_int32 size) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- return(RET_NORMAL);
-}
-// LCOV_EXCL_STOP
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : DramSz
- * ABSTRACT : DRAM ID size acquisition processing
- * NOTE : Get the effective area size of the specified DRAM ID.
- * ARGUMENT : u_int8 id DRAM Area IDs
- * u_int16 *psize Size(bytes)
- * RETURN : RET_API defined
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-RET_API
-DramSz(u_int8 id, u_int16 *psize) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- return(RET_NORMAL);
-}
-// LCOV_EXCL_STOP
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : DramSz32
- * ABSTRACT : DRAM ID size acquisition processing
- * NOTE : Get the effective area size of the specified DRAM ID.
- * ARGUMENT : u_int8 id DRAM Area IDs
- * u_int32 *psize Size(bytes)
- * RETURN : RET_API defined
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-RET_API
-DramSz32(u_int8 id, u_int32 *psize) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- return(RET_NORMAL);
-}
-// LCOV_EXCL_STOP
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : DramFilCrc
- * ABSTRACT : DRAM memory-fill process (add CRC-value)
- * NOTE : Fill with the specified patterns from the offset position of the area of the specified DRAM ID.
- * After filling, add result of the CRC calculation to the end of the region.
- * ARGUMENT : u_int8 id DRAM Area IDs
- * u_int32 off Fill destination DRAM offset(bytes)
- * u_int8 pat Fill pattern
- * u_int16 size Fill size(bytes)
- * RETURN : RET_API defined
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-RET_API
-DramFilCrc(u_int8 id, u_int32 off, u_int8 pat, u_int16 size) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- return(RET_NORMAL);
-}
-// LCOV_EXCL_STOP
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : DramFil32Crc
- * ABSTRACT : DRAM memory-fill process (CRC-value addition)
- * NOTE : Fill with the specified patterns from the offset position of the area of the specified DRAM ID.
- * After filling, perform CRC calculation and add it to the end of the region
- * ARGUMENT : u_int8 id DRAM Area IDs
- * u_int32 off Fill destination DRAM offset(bytes)
- * u_int8 pat Fill pattern
- * u_int32 size Fill size(bytes)
- * RETURN : RET_API defined
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-RET_API
-DramFil32Crc(u_int8 id, u_int32 off, u_int8 pat, u_int32 size) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- return(RET_NORMAL);
-}
-// LCOV_EXCL_STOP
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : DramCrcChk
- * ABSTRACT : DRAM self-refresh area CRC-check
- * NOTE : Perform CRC calculation for the specified area and check whether the CRC value is normal.
- * ARGUMENT : u_int8 id DRAM Area IDs
- * RETURN : RET_API defined
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-RET_API
-DramCrcChk(u_int8 id) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- return(RET_NORMAL);
-}
-// LCOV_EXCL_STOP
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : DramRWChk
- * ABSTRACT : DRAM read/write checking
- * NOTE : Check whether DRAM can be read/written correctly
- * ARGUMENT : None
- * RETURN : RET_API define RET_NORMAL : Normal status
- * RET_ERROR : In case of read/write error
- * RET_OSERRER : Virtual area mapping error
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-RET_API
-DramRWChk(void) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- return(RET_NORMAL);
-}
-// LCOV_EXCL_STOP
-
-/*******************************************************************************
- * MODULE : Crc
- * ABSTRACT : Calculate sum of a given range
- * FUNCTION : RET_API Crc(u_int32 start_addr,u_int32 size, u_int32 *sum);
- * ARGUMENT : u_int32 start_addr Top address
- * u_int32 size Size
- * u_int32* sum Sum value storage
- * NOTE : Calculate the 4 bytes sum of the size portion from start_addr and stores the result in sum.
- * If start_addr and size are not 4-bytes boundaries, errors are returned.
- * On error, -1 is stored in sum and returned.
- * RETURN : RET_NORMAL Sum value calculation success
- * RET_ERROR Sum value calculation failed
- ******************************************************************************/
-RET_API
-Crc(u_int32 start_addr, u_int32 size, u_int32 *sum) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- return(RET_NORMAL);
-}
-// LCOV_EXCL_STOP
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : DramDestroy
- * ABSTRACT : SRAM alternative DRAM self-refresh area destruction process
- * NOTE : The SRAM replacement DRAM self-refresh area is destroyed by adding 1
- * to the CRC value held by the area ID and destroying the CRC value.
- * ARGUMENT : u_int8 id DRAM Area IDs
- * RETURN : RET_API defined
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-RET_API
-DramDestroy(u_int8 id) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- return(RET_NORMAL);
-}
-// LCOV_EXCL_STOP
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : CrcEx
- * ABSTRACT : Calculate the sum of the CRC values in the given range and the CRC values passed in the arguments
- * FUNCTION : RET_API CrcEx(u_int32 start_addr, u_int32 size, u_int32 *sum, u_int32 addcrc);
- * ARGUMENT : u_int32 start_addr Top address
- * u_int32 size Size
- * u_int32* sum CRC value storage
- * u_int32 addcrc CRC value to add
- * NOTE : When the 4-bytes-CRC value for the size is calculated from start_addr,
- * Add the CRC value passed in the fourth argument to sum, and store it in sum.
- * Note:Because the address align is undefined, 1-byte calculation shall be performed.
- * RETURN : RET_NORMAL Sum value calculation success
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-RET_API
-CrcEx(u_int32 start_addr, u_int32 size, u_int32 *sum, u_int32 addcrc) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- return(RET_NORMAL);
-}
-// LCOV_EXCL_STOP
-
-
-
-/*
-* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- End of File : _pbDram.cpp
-* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-*/
diff --git a/video_in_hal/vehicleservice/positioning_base_library/library/src/_pbEvent.cpp b/video_in_hal/vehicleservice/positioning_base_library/library/src/_pbEvent.cpp
deleted file mode 100755
index 0912a13..0000000
--- a/video_in_hal/vehicleservice/positioning_base_library/library/src/_pbEvent.cpp
+++ /dev/null
@@ -1,1695 +0,0 @@
-/*
- * @copyright Copyright (c) 2016-2020 TOYOTA MOTOR CORPORATION.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * @file
- * _pbEvent.cpp
- */
-
-/*---------------------------------------------------------------------------------*
- * Include Files *
- *---------------------------------------------------------------------------------*/
-#include <vehicle_service/positioning_base_library.h>
-#include "_pbEvent_Internal.h"
-#include "_pbInternalProc.h"
-#include "WPF_STD_private.h"
-#include "tchar.h"
-
-/*---------------------------------------------------------------------------------*
- * Internal Function Prototype *
- *---------------------------------------------------------------------------------*/
-static BOOL FindEventTable(PB_EVENT*, TCHAR*, u_int32*);
-static BOOL AllocNewEventTable(PB_EVENT*, u_int32*);
-
-static void FreeEventTable(PB_EVENT* p_event_table, int index);
-static RET_API SetProc(PB_EVENT_OPEN_HANDLE* p_event_open, int32 i_mode, int32 l_val, int32* lp_val);
-static RET_API WaitProc(PB_EVENT_OPEN_HANDLE*, WAITING_CONDITION*, u_int32);
-static BOOL CheckCondition(PB_EVENT* p_sys_event, DWORD wcn, int32 l_event_data);
-
-static EventID EventCreateNewEventInSystem(u_int8, int32, TCHAR*);
-static EventID EventCreateNewEventInProcess(u_int32);
-
-static RET_API EventSendSignal(PB_EVENT_OPEN_HANDLE*, u_int32);
-static RET_API EventWaitForSignal(PB_EVENT_OPEN_HANDLE*, u_int32, u_int32);
-
-static BOOL EventCreateMutex(PB_EVENT_OPEN_HANDLE*);
-static void EventLockMutex(PB_EVENT_OPEN_HANDLE*);
-static void EventUnlockMutex(PB_EVENT_OPEN_HANDLE*);
-static void EventDeleteMutex(PB_EVENT_OPEN_HANDLE*);
-
-void GetDebugEventMngTblSysEvent(void* p_buf, PB_EVENT* p_evt, uint8_t* p_indent);
-
-/*---------------------------------------------------------------------------------*
- * Grobal Value *
- *---------------------------------------------------------------------------------*/
-static PB_EVENT_INSTANCE g_instance; // NOLINT(readability/nolint)
-
-static uint8_t g_my_proc_cnt; /* Invoking process counter value */
-
-/*---------------------------------------------------------------------------------*
- * Function *
- *---------------------------------------------------------------------------------*/
-/**
- * @brief
- * Initializing Event-Related Processing
- *
- * Instantiate and initialize system API event related processing.
- * Creates a flags in the CLS event library.
- *
- * @return RET_NORMAL Normal completion<br>
- * RET_ERRINIT Initialization error
- */
-RET_API EventInit(void) {
- PB_EVENT_INSTANCE *p_inst = &g_instance;
- PB_EVENT* p_event_table = NULL;
- u_int32 ul_share_mem_size = 0;
- RET_API ret_api = RET_ERROR;
- char c_share_mem_name[32] = {0};
- char c_sem_name[32] = {0};
- void *pv_share_mem_addr = NULL;
- int32 n;
- RET_API l_ret_api;
-
- /* Create Mutex */
- _tcscpy(c_sem_name, "POS_BASE_EVENT_MUTEX");
- p_inst->id_event_table_sem = _pb_CreateSemaphore(c_sem_name); // LCOV_EXCL_BR_LINE 200: can not be 0
- if (p_inst->id_event_table_sem == 0) /* When mutex creation fails */ { // LCOV_EXCL_BR_LINE 200: can not be 0
- // LCOV_EXCL_START 200: can not be 0
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, \
- "_pb_CreateSemaphore ERROR [name:%s]", c_sem_name);
- _pb_Exit();
- // LCOV_EXCL_STOP
- }
-
- l_ret_api = _pb_SemLock(p_inst->id_event_table_sem); /* Get event-control-table-locking Mutex */
- if (l_ret_api != RET_NORMAL) {
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "_pb_SemLock failed");
- }
-
- /* Initialize table of handles. */
- for (n = 0; n < MAX_PB_EVENTS; n++) {
- p_inst->p_handle_table[n] = NULL;
- }
-
- /* Generate shared memory name */
- _tcscpy(c_share_mem_name, "POS_BASE_EVENT_TABLE");
-
- /* Link to event information storage area */
- ret_api = _pb_LinkShareData(c_share_mem_name, &pv_share_mem_addr, &ul_share_mem_size);
- if (ret_api != RET_NORMAL) /* When the link fails */ {
- /* Generate shared memory */
- ret_api = _pb_CreateShareData(c_share_mem_name,
- static_cast<u_int32>((sizeof(PB_EVENT) * MAX_PB_EVENTS)), &pv_share_mem_addr);
-
- /* Terminate processing when generating fails */
- if (ret_api != RET_NORMAL) {
- ret_api = RET_ERRINIT; /* _CWORD71_:QAC++4020:Multiple exit points found. MISRA-C++ Rule 6-6-5 */
- } else {
- /* _CWORD71_:QAC++4020:Multiple exit points found. MISRA-C++ Rule 6-6-5 */
- /* Event information storage area initialization processing */
- p_event_table = reinterpret_cast<PB_EVENT*>(pv_share_mem_addr);
- for (n = 0; n < MAX_PB_EVENTS; n++) {
- memset(reinterpret_cast<void *>(p_event_table[n].event_name), 0, \
- sizeof(p_event_table[n].event_name));
- p_event_table[n].l_event_val = 0;
- for (int wcn = 0; wcn < MAX_PB_EVENT_WAIT_THREADS; wcn++) {
- p_event_table[n].st_condition[wcn].uc_use_flag = FALSE; /* Initialize to unused */
- p_event_table[n].st_condition[wcn].uc_waiting = FALSE;
- p_event_table[n].st_condition[wcn].us_mode = 0;
- p_event_table[n].st_condition[wcn].ul_mask = 0; /* Initialize Mask Value */
- p_event_table[n].st_condition[wcn].l_min_val = 0;
- p_event_table[n].st_condition[wcn].l_max_val = 0;
- /* Initialize event values at WaitEvent Returns */
- p_event_table[n].st_condition[wcn].l_last_val = 0;
- p_event_table[n].st_condition[wcn].flag_id[p_event_table->proc_cnt] = 0;
- }
-
- p_event_table[n].l_process_ref = 0;
- p_event_table[n].l_reset_data = 0;
- p_event_table[n].uc_manual_reset = _CWORD64_EVENT_MANUALRESET_OFF;
- }
- }
- } else {
- /* When the link is successful */
- p_event_table = reinterpret_cast<PB_EVENT*>(pv_share_mem_addr);
- p_event_table->proc_cnt++;
- }
-
- if (ret_api == RET_NORMAL) /* _CWORD71_:QAC++4020:Multiple exit points found. MISRA-C++ Rule 6-6-5 */ {
- g_my_proc_cnt = p_event_table->proc_cnt;
- /* Get the address of the acquired event information storage area. */
- p_inst->h_shared_memory = (HANDLE)pv_share_mem_addr;
- p_inst->p_event_table = reinterpret_cast<PB_EVENT*>(pv_share_mem_addr);
- }
-
- _pb_SemUnlock(p_inst->id_event_table_sem); // LCOV_EXCL_BR_LINE 200: no branch
-
- return ret_api;
-}
-
-/**
- * @brief
- * Event-related instance destruction processing
- *
- * Delete a Flag from the CLS Event Library (Not implemented)
- *
- * @return RET_NORMAL Normal completion<br>
- * RET_ERROR ABEND
- */
-RET_API EventTerm(void) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- PB_EVENT_INSTANCE *p_inst = &g_instance;
- char c_share_mem_name[32] = {0};
-
- RET_API ret_api = RET_NORMAL;
-
- /* TODO:Implement processing to delete event flags */
-
- /* Generate shared memory name */
- _tcscpy(c_share_mem_name, "POS_BASE_EVENT_TABLE");
-
- /* Discard the semaphore if it has already been created */
- if (p_inst->id_event_table_sem != 0) {
- PbDeleteSemaphore(p_inst->id_event_table_sem);
- p_inst->id_event_table_sem = 0;
- }
-
- /* Discard the shared memory if it has already been created */
- if (p_inst->h_shared_memory != NULL) {
- /* Release shared memory */
- PbDeleteShareData(c_share_mem_name);
- p_inst->h_shared_memory = NULL;
- }
-
- return ret_api;
-}
-// LCOV_EXCL_STOP
-
-/**
- * @brief
- * Create the event
- *
- * Create an event with the specified name and returns the event ID.<br>
- * If it has already been generated, the event ID is searched and returned.
- *
- * @param[in] uc_manual_reset
- * @param[in] l_init_data
- * @param[in] *cp_event_name Pointer to the names of the event to be generated (NULL termination string)
- *
- * @return Non-zero Generated event ID<br>
- * 0 Event generation error
- */
-EventID _pb_CreateEvent(u_int8 uc_manual_reset, int32 l_init_data, // NOLINT(readability/nolint)
- char *cp_event_name) { // NOLINT(readability/nolint)
- PB_EVENT_INSTANCE *p_inst = &g_instance;
- EventID ret_event_id = 0;
- TCHAR *p_event_name = NULL;
- u_int32 index = 0;
- BOOL bret = FALSE;
- BOOL check_status = TRUE; /* _CWORD71_:QAC++4020:Multiple exit points found. MISRA-C++ Rule 6-6-5 */
- RET_API l_ret_api;
-
- /* Parameter check */
- if ((cp_event_name == NULL) ||
- (uc_manual_reset >= _CWORD64_EVENT_MANUALRESET_MAX)) {
- check_status = FALSE; /* _CWORD71_:QAC++4020:Multiple exit points found. MISRA-C++ Rule 6-6-5 */
- }
-
-#ifdef UNICODE
- /* Event name character limit processing */
- if (strlen(cp_event_name) > MAX_EVENT_NAME_LEN) {
- _pb_Exit(); /* _CWORD71_:QAC++4020:Multiple exit points found. MISRA-C++ Rule 6-6-5 */
- }
-
- TCHAR unicodeEventName[MAX_EVENT_NAME_LEN + 1]; /* Maxmum nunber of characters + NULL area */
- mbstowcs(unicodeEventName, cp_event_name, MAX_EVENT_NAME_LEN);
- p_event_name = unicodeEventName;
-#else
- p_event_name = cp_event_name;
-#endif // UNICODE
-
- if ((check_status == TRUE) && /* _CWORD71_:QAC++4020:Multiple exit points found. MISRA-C++ Rule 6-6-5 */
- (p_event_name[0] == __TEXT('\0'))) {
- check_status = FALSE; /* _CWORD71_:QAC++4020:Multiple exit points found. MISRA-C++ Rule 6-6-5 */
- }
-
- /* Event name character limit processing */
- if ((check_status == TRUE) && /* _CWORD71_:QAC++4020:Multiple exit points found. MISRA-C++ Rule 6-6-5 */
- (_tcslen(p_event_name) < MAX_EVENT_NAME_LEN)) {
- l_ret_api = _pb_SemLock(p_inst->id_event_table_sem); /* Mutex from here */
- if (l_ret_api != RET_NORMAL) {
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "_pb_SemLock failed");
- }
-
- /* Search the event table by the specified event name */
- bret = FindEventTable(p_inst->p_event_table, p_event_name, &index);
- /* If the same event already exists on the system */
- if (bret != FALSE) {
- ret_event_id = EventCreateNewEventInProcess(index); // LCOV_EXCL_BR_LINE 200: no branch
- } else {
- /* When creating a new file */
- ret_event_id = EventCreateNewEventInSystem(uc_manual_reset, l_init_data, p_event_name); // LCOV_EXCL_BR_LINE 200: no branch // NOLINT(whitespace/line_length)
- }
-
- _pb_SemUnlock(p_inst->id_event_table_sem); // LCOV_EXCL_BR_LINE 200: no branch
- }
-
- return ret_event_id;
-}
-
-/**
- * @brief
- * Set the event
- *
- * Set the event value by specifying the event ID acquired when the event was created.<br>
- * The event value setting modes are as follows.<br>
- * SAPI_EVSET_ABSOLUTE : Absolute value setting(Specify the value to be set.)<br>
- * SAPI_EVSET_RELATE : Relative value setting(Specifies the value relative to the current value.)
- *
- * @param[in] event_id Specify the event ID for which the event value is to be set.
- * @param[in] l_set_mode Specify the event value setting mode
- * @param[in] l_Val Specify the event value to be set
- *
- * @return RET_NORMAL Normal completion<br>
- * RET_ERRPARAM Configuration mode error<br>
- * RET_EV_NONE Specified event does not exist<br>
- * RET_EV_MAX The set event value exceeds the maximum value<br>
- * RET_EV_MIN The set event value is below the minimum value.
- */
-RET_API _pb_SetEvent(EventID event_id, int32 l_set_mode, int32 l_val) { // NOLINT(readability/nolint)
- PB_EVENT_OPEN_HANDLE *p_event_open = NULL;
- PB_EVENT_INSTANCE *p_inst = &g_instance;
- RET_API ret_sts = RET_EV_NONE;
- int32 l_work_val = 0;
- u_int32 ul_index = (u_int32)event_id - 1;
-
- /* Parameter check */
- if (ul_index < MAX_PB_EVENTS) {
- /* If the specified event ID value is within range */
- p_event_open = p_inst->p_handle_table[ul_index];
- /* If the specified event ID is registered in the table, */
- if (p_event_open != NULL) {
- /* Determine the event setting mode and call the event value setting function. */
- if (l_set_mode == SAPI_EVSET_ABSOLUTE) {
- ret_sts = SetProc(p_event_open, EVSET_ABSOLUTE, l_val, &l_work_val); // LCOV_EXCL_BR_LINE 200: no branch // NOLINT(whitespace/line_length)
- } else if (l_set_mode == SAPI_EVSET_RELATE) {
- ret_sts = SetProc(p_event_open, EVSET_RELATE, l_val, &l_work_val); // LCOV_EXCL_BR_LINE 200: no branch
- } else {
- ret_sts = RET_ERRPARAM;
- }
- }
- }
-
- return ret_sts;
-}
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : SetandEvent()
- * ABSTRACT : Event value AND setting process
- * NOTE : Set the logical AND result of the specified mask value to the event value of the specified event ID.
- * ARGUMENT : EventID event_id Specify the event ID to wait for an event
- * : u_int32 ul_mask Mask value to be logically ANDed with the event value
- * : int32* pl_val Pointer to the area to store the pre-event value
- * RETURN : RET_API RET_NORMAL Normal completion
- * : RET_EV_NONE Specified event does not exist
- * : RET_ERROR
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-RET_API
-SetandEvent(EventID event_id, u_int32 ul_mask, int32* pl_val) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- PB_EVENT_OPEN_HANDLE *p_event_open = NULL;
- PB_EVENT_INSTANCE *p_inst = &g_instance;
- RET_API ret_sts = RET_EV_NONE;
- u_int32 ul_index = (u_int32)event_id - 1;
-
- /* Parameter check */
- if ((ul_index < MAX_PB_EVENTS) &&
- (pl_val != NULL)) {
- /* If the specified event ID value is within range */
- p_event_open = p_inst->p_handle_table[ul_index];
- /* If the specified event ID is registered in the table, */
- if (p_event_open != NULL) {
- ret_sts = SetProc(p_event_open, EVSET_AND, static_cast<int32>(ul_mask), pl_val);
- }
- }
-
- return ret_sts;
-}
-// LCOV_EXCL_STOP
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : SetorEvent()
- * ABSTRACT : Event value OR setting process
- * NOTE : Set the logical OR result of the specified mask value and the event value of the specified event ID.
- * ARGUMENT : EventID event_id Specify the event ID to wait for an event.
- * : u_int32 ul_mask Mask value to be logically ANDed with the event value
- * : int32* pl_val Pointer to the area to store the pre-event value
- * RETURN : RET_API RET_NORMAL Normal completion
- * : RET_EV_NONE Specified event does not exist
- * : RET_ERROR
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-RET_API
-SetorEvent(EventID event_id, u_int32 ul_mask, int32* pl_val) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- PB_EVENT_OPEN_HANDLE *p_event_open = NULL;
- PB_EVENT_INSTANCE *p_inst = &g_instance;
- RET_API ret_sts = RET_EV_NONE;
- u_int32 ul_index = (u_int32)event_id - 1;
-
- /* Parameter check */
- if ((ul_index < MAX_PB_EVENTS) &&
- (pl_val != NULL)) {
- /* If the specified event ID value is within range */
- p_event_open = p_inst->p_handle_table[ul_index];
-
- /* If the specified event ID is registered in the table, */
- if (p_event_open != NULL) {
- ret_sts = SetProc(p_event_open, EVSET_OR, static_cast<int32>(ul_mask), pl_val);
- }
- }
-
- return ret_sts;
-}
-// LCOV_EXCL_STOP
-
-/**
- * @brief
- * Wait for the event
- *
- * Wait until the event value of the specified event ID reaches the specified range.
- *
- * @param[in] event_id Specify the event ID for which the event value is to be set.
- * @param[in] l_wait_mode Monitoring mode of event * Current only SAPI_EVWAIT_VAL is allowed
- * @param[in] l_min_val Minimum Event Wait
- * @param[in] l_max_val Maximum value waiting for an event
- * @param[in] *pl_event_val Pointer to the event value storage area after waiting for an event
- * @param[in] ul_mill_sec_time Timeout period(ms)
- *
-_ * @return RET_NORMAL Normal completion<br>
- * RET_EV_NONE Specified event does not exist<br>
- * RET_ERROR Other errors
- */
-RET_API _pb_WaitEvent(EventID event_id, int32 l_wait_mode, int32 l_min_val, // NOLINT(readability/nolint)
- int32 l_max_val, int32* pl_event_val, u_int32 ul_mill_sec_time) { // NOLINT(readability/nolint)
- PB_EVENT_OPEN_HANDLE *p_event_open = NULL;
- PB_EVENT_INSTANCE *p_inst = &g_instance;
- WAITING_CONDITION st_condition = {0};
- RET_API ret_sts = RET_EV_NONE;
- u_int32 ul_index = (u_int32)event_id - 1;
-
- /* Parameter check */
- if ((pl_event_val != NULL) &&
- (ul_index < MAX_PB_EVENTS)) {
- p_event_open = p_inst->p_handle_table[ul_index];
-
- /* If the specified event ID is registered in the table, */
- if (p_event_open != NULL) {
- /* Set Wait Mode and Mask Value to Parameter Blk */
- st_condition.us_mode = EVWAIT_VAL;
- st_condition.l_min_val = l_min_val;
- st_condition.l_max_val = l_max_val;
-
- /* Call the event wait processing */
- ret_sts = WaitProc(p_event_open, &st_condition, ul_mill_sec_time); // LCOV_EXCL_BR_LINE 200: no branch
- if (ret_sts == RET_NORMAL) {
- *pl_event_val = st_condition.l_last_val;
- }
- }
- }
-
- return ret_sts;
-}
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : WaitallclrEvent()
- * ABSTRACT : Event Bit Clear Wait
- * NOTE : Wait until all the bits specified by the mask value are cleared
- * : for the event value of the specified event ID.
- * ARGUMENT : EventID event_id Specifies the event ID to wait for an event.
- * : u_int32 ul_mask Mask value waiting for an event (Bit pattern)
- * : int32* pl_val Pointer to the event value storage area after waiting for an event
- * : u_itn32 ul_mill_sec_time Timeout period(ms)
- * RETURN : RET_API RET_NORMAL Normal completion
- * : RET_EV_NONE Specified event does not exist
- * : RET_ERROR Maximum number of waiting threads exceeded
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-RET_API
-WaitallclrEvent(EventID event_id, u_int32 ul_mask, int32* pl_val, u_int32 ul_mill_sec_time) { // LCOV_EXCL_START 8:dead code // NOLINT(whitespace/line_length)
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- PB_EVENT_OPEN_HANDLE *p_event_open = NULL;
- PB_EVENT_INSTANCE *p_inst = &g_instance;
- WAITING_CONDITION st_condition = {0};
- RET_API ret_sts = RET_EV_NONE;
- u_int32 ul_index = static_cast<u_int32>(event_id) - 1;
-
- /* Parameter check */
- if ((pl_val != NULL) &&
- (ul_index < MAX_PB_EVENTS)) {
- p_event_open = p_inst->p_handle_table[ul_index];
-
- /* If the specified event ID is registered in the table, */
- if (p_event_open != NULL) {
- /* Set Wait Mode and Mask Value to Parameter Blk */
- st_condition.us_mode = EVWAIT_ALLCLR;
- st_condition.ul_mask = ul_mask;
-
- /* Call the event wait processing */
- ret_sts = WaitProc(p_event_open, &st_condition, ul_mill_sec_time);
- if (ret_sts == RET_NORMAL) {
- *pl_val = st_condition.l_last_val;
- }
- }
- }
-
- return ret_sts;
-}
-// LCOV_EXCL_STOP
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : WaitanysetEvent()
- * ABSTRACT : Event Bit Set Waiting Process
- * NOTE : Wait until one of the bits specified by the mask value is set
- * : for the event value of the specified event ID.
- * ARGUMENT : EventID event_id Specify the event ID to wait for an event.
- * : u_int32 ul_mask Mask value waiting for an event
- * : int32* ipVal Pointer to the event value storage area after waiting for an event
- * : u_itn32 ul_mill_sec_time Timeout period(ms)
- * RETURN : RET_API RET_NORMAL Normal completion
- * : RET_EV_NONE Specified event does not exist
- * : RET_ERROR When the maximum number of waiting events is exceeded
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-RET_API
-WaitanysetEvent(EventID event_id, u_int32 ul_mask, int32* pl_val, u_int32 ul_mill_sec_time) { // LCOV_EXCL_START 8:dead code // NOLINT(whitespace/line_length)
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- PB_EVENT_OPEN_HANDLE *p_event_open = NULL;
- PB_EVENT_INSTANCE *p_inst = &g_instance;
- WAITING_CONDITION st_condition = {0};
- RET_API ret_sts = RET_EV_NONE;
- u_int32 ul_index = (u_int32)event_id - 1;
-
- /* Parameter check */
- if ((pl_val != NULL) &&
- (ul_index < MAX_PB_EVENTS)) {
- p_event_open = p_inst->p_handle_table[ul_index];
-
- /* If the specified event ID is registered in the table, */
- if (p_event_open != NULL) {
- /* Set Wait Mode and Mask Value to Parameter Blk */
- st_condition.us_mode = EVWAIT_ANYSET;
- st_condition.ul_mask = ul_mask;
-
- /* Call the event wait processing */
- ret_sts = WaitProc(p_event_open, &st_condition, ul_mill_sec_time);
- if (ret_sts == RET_NORMAL) {
- *pl_val = st_condition.l_last_val;
- }
- }
- }
-
- return ret_sts;
-}
-// LCOV_EXCL_STOP
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : LookupEvent()
- * ABSTRACT : Event value reading process
- * NOTE : Read the event value of the specified event ID.
- * ARGUMENT : EventID event_id Specify the event ID to read the event value from.
- * : int32 *iEventVal Pointer to the read event value storage area
- * RETURN : RET_API RET_NORMAL Normal completion
- * : RET_EV_NONE Specified event does not exist
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-RET_API
-LookupEvent(EventID event_id, int32* pl_event_val) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- PB_EVENT_OPEN_HANDLE *p_event_open = NULL;
- PB_EVENT_INSTANCE *p_inst = &g_instance;
- u_int32 ul_index = (u_int32)event_id - 1;
- RET_API ret_sts = RET_EV_NONE;
-
- /* Parameter check */
- if ((pl_event_val != NULL) &&
- (ul_index < MAX_PB_EVENTS)) {
- p_event_open = p_inst->p_handle_table[ul_index];
-
- /* When the specified event ID is already registered in the table */
- if (p_event_open != NULL) {
- EventLockMutex(p_event_open);
- /* Store the current event value. */
- *pl_event_val = static_cast<int32>(p_event_open->p_sys_event->l_event_val);
- EventUnlockMutex(p_event_open);
- ret_sts = RET_NORMAL;
- }
- }
-
- return ret_sts;
-}
-// LCOV_EXCL_STOP
-
-/**
- * @brief
- * Delete the event
- *
- * Delete the event with the specified event ID.
- *
- * @param[in] event_id Specify the event ID for which the event value is to be set.
- *
- * @return RET_NORMAL Normal completion<br>
- * RET_EV_NONE Specified event does not exist
- */
-RET_API _pb_DeleteEvent(EventID event_id) { // NOLINT(readability/nolint)
- PB_EVENT_OPEN_HANDLE *p_event_open = NULL;
- PB_EVENT_INSTANCE *p_inst = &g_instance;
- RET_API ret_api = RET_EV_NONE;
- u_int32 index = static_cast<u_int32>(event_id) - 1;
- EV_ERR ev_err;
- RET_API l_ret_api;
-
- /* Parameter check */
- if (index < MAX_PB_EVENTS) {
- p_event_open = p_inst->p_handle_table[index];
- /* When the specified event ID is registered in the table */
- if (p_event_open != NULL) {
- ret_api = RET_NORMAL;
- }
- }
-
- /* Parameter normal */
- if (ret_api == RET_NORMAL) {
- l_ret_api = _pb_SemLock(p_inst->id_event_table_sem);
- if (l_ret_api != RET_NORMAL) {
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "_pb_SemLock failed");
- }
-
- /* When no one references in the same process */
- if ((p_event_open->l_thread_ref - 1) <= 0) {
- /* Delete event flag */
- ev_err = EV_destroy_flag(p_event_open->p_sys_event->st_condition[0].flag_id[g_my_proc_cnt]);
- /* When initialization fails */
- if (ev_err == EV_OK) {
- p_event_open->p_sys_event->st_condition[0].flag_id[g_my_proc_cnt] = 0;
- } else {
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, \
- "EV_destroy_flag ERROR!! [ev_err=%d, flag_id=0x%x]", \
- ev_err, p_event_open->p_sys_event->st_condition[0].flag_id[g_my_proc_cnt]);
-
- ret_api = RET_ERROR;
- }
- }
-
- /* When the event flag is deleted successfully */
- if (ret_api == RET_NORMAL) {
- /* Reduce the number of event references in the same process */
- p_event_open->l_thread_ref--;
-
- /* When no one references in the same process */
- if (p_event_open->l_thread_ref <= 0) {
- /* Reduce the number of event references in the system */
- p_event_open->p_sys_event->l_process_ref--;
- }
-
- /* When no one references in the system */
- if (p_event_open->p_sys_event->l_process_ref <= 0) {
- /* Initialization of the target area */
- FreeEventTable(p_inst->p_event_table, index);
- }
-
- /* If no one references in the same process, release the resource here */
- if (p_event_open->l_thread_ref <= 0) {
- /* Exclusive deletion for the target event */
- EventDeleteMutex(p_event_open);
-
- /* Open the heap area storing the target event. */
- /* */
- PbProcessHeapFree(0, p_inst->p_handle_table[index]);
- p_inst->p_handle_table[index] = NULL;
- }
- }
-
- _pb_SemUnlock(p_inst->id_event_table_sem);
- }
-
- return ret_api;
-}
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : ResetEvent()
- * ABSTRACT : Event Clear
- * NOTE : Specified event clear processing
- * ARGUMENT : EventID event_id Event ID to reset
- * RETURN : RET_API RET_NORMAL Normal completion
- * : RET_EV_NONE ABEND
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-RET_API
-ResetEvent(EventID event_id) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- PB_EVENT_OPEN_HANDLE *p_event_open = NULL;
- PB_EVENT_INSTANCE *p_inst = &g_instance;
- RET_API ret_sts = RET_EV_NONE;
- u_int32 ul_index = (u_int32)event_id - 1;
-
- /* Parameter check */
- if (ul_index < MAX_PB_EVENTS) {
- p_event_open = p_inst->p_handle_table[ul_index];
-
- /* When the specified event ID is already registered in the table */
- if (p_event_open != NULL) {
- EventLockMutex(p_event_open);
-
- /* Clear the event value */
- p_event_open->p_sys_event->l_event_val = p_event_open->p_sys_event->l_reset_data;
-
- EventUnlockMutex(p_event_open);
- ret_sts = RET_NORMAL;
- }
- }
-
- return ret_sts;
-}
-// LCOV_EXCL_STOP
-
-/* Private functions. */
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : SetProc()
- * ABSTRACT : General Event Configuration Processing
- * NOTE : Sets the event according to the specified event setting method.
- * ARGUMENT : PB_EVENT_OPEN_HANDLE* p_event_open Pointer to manage event waiting for the event TBL
- * : int32 i_mode Event setting method
- * : int32 iVal Event setting value
- * : int32* ipVal Pointer to the area to store the pre-event value
- * RETURN : RET_API RET_NORMAL Normal completion
- * : RET_ERROR
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-static RET_API
-SetProc(PB_EVENT_OPEN_HANDLE* p_event_open, int32 i_mode, int32 l_val, int32* lpVal) {
- RET_API ret_sts = RET_NORMAL;
- int32 lTempEventData = 0;
- int32 lTestValue = 0;
- BOOL bCastCondFlag = FALSE;
-
- EventLockMutex(p_event_open);
-
- /* Get current event value */
- lTempEventData = p_event_open->p_sys_event->l_event_val;
- *lpVal = p_event_open->p_sys_event->l_event_val; /* Set the value before the event operation */
-
- /* Switch Processing by event configuration mode */
- switch (i_mode) { // LCOV_EXCL_BR_LINE 200:only the first two cases will be called
- case EVSET_ABSOLUTE: /* In absolute mode */ {
- /* Updating event values with specified values */
- lTempEventData = l_val;
- break;
- }
- case EVSET_RELATE: /* In relative setting mode */ {
- lTestValue = lTempEventData + l_val;
- /* Exceeding representable event value */
- if ((l_val > 0) && (lTempEventData > lTestValue)) {
- ret_sts = RET_EV_MAX;
- }
- /* Below representable event value */
- if ((l_val < 0) && (lTempEventData < lTestValue)) {
- ret_sts = RET_EV_MIN;
- }
- /* Normal range */
- if (ret_sts == RET_NORMAL) {
- /* Add specified value to event value */
- lTempEventData += l_val;
- }
- break;
- }
- case EVSET_AND: { // LCOV_EXCL_BR_LINE 200: i_mode cannot be this value
- // LCOV_EXCL_START 200: i_mode cannot be this value
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- lTempEventData &= ((u_int32)l_val); /* Logical AND of the event value and the specified value */
- break;
- // LCOV_EXCL_STOP
- }
- case EVSET_OR: { // LCOV_EXCL_BR_LINE 200: i_mode cannot be this value
- // LCOV_EXCL_START 200: i_mode cannot be this value
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- lTempEventData |= ((u_int32)l_val); /* Logical AND of the event value and the specified value */
- break;
- // LCOV_EXCL_STOP
- }
- default: /* Event setting mode error */ // LCOV_EXCL_BR_LINE 200: i_mode cannot be this value
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- ret_sts = RET_ERRPARAM; // LCOV_EXCL_LINE 200: i_mode cannot be this value
- }
-
- /* When the manual reset function is enabled */
-
- if (ret_sts == RET_NORMAL) {
- /* When the manual reset function is enabled */
- if (p_event_open->p_sys_event->uc_manual_reset == _CWORD64_EVENT_MANUALRESET_ON) {
- /* Set event value */
- p_event_open->p_sys_event->l_event_val = lTempEventData;
- }
-
- /* Loop for the maximum number of waiting threads per event and check the condition of event wait processing of the state TBL. */
- for (DWORD wcn = 0; wcn < MAX_PB_EVENT_WAIT_THREADS; wcn++) {
- /* If the event wait flag is waiting, */
- if (p_event_open->p_sys_event->st_condition[wcn].uc_waiting == TRUE) {
- /* Check if event wait conditions are met */
- BOOL bret = CheckCondition(p_event_open->p_sys_event, wcn, lTempEventData);
- /* If the event wait conditions are met, */
- if (bret == TRUE) {
- bCastCondFlag = TRUE;
- /* Save the event value at the time of SetEvent issuance (at the time of WaitEvent return). */
- p_event_open->p_sys_event->st_condition[wcn].l_last_val = lTempEventData;
-
- /* Processing to prevent concurrent SetEvent from more than one threads for a single event which is in WAIT state */
- /* Set WAIT status to wait-canceled */
- p_event_open->p_sys_event->st_condition[wcn].uc_waiting = FALSE;
- /* Setting the default min value for event */
- p_event_open->p_sys_event->st_condition[wcn].l_min_val = MIN_EVENT_VAL;
- /* Setting the default max event */
- p_event_open->p_sys_event->st_condition[wcn].l_max_val = MAX_EVENT_VAL;
-
- /* Signal issuance */
- (void)EventSendSignal(p_event_open, static_cast<int>(wcn));
- }
- }
- }
-
- /* When the manual reset function is disabled */
- if (p_event_open->p_sys_event->uc_manual_reset != _CWORD64_EVENT_MANUALRESET_ON) {
- /* If no one has issued the event */
- if (bCastCondFlag == FALSE) {
- /* Set event value */
- p_event_open->p_sys_event->l_event_val = lTempEventData;
- } else {
- /* If issued event */
- /* Reset event value */
- p_event_open->p_sys_event->l_event_val = p_event_open->p_sys_event->l_reset_data;
- }
- }
- }
-
- EventUnlockMutex(p_event_open);
-
- return ret_sts;
-}
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : WaitProc()
- * ABSTRACT : Generic Event Wait Processing
- * NOTE : Wait for an event according to the wait queue of the specified event.
- * ARGUMENT : PB_EVENT_OPEN_HANDLE* p_event_open Pointer to TBL which is managed waiting for events
- * : WAITING_CONDITION* st_condition Pointer to the event wait condition setting parameter
- * RETURN : RET_API RET_NORMAL Normal completion
- * : RET_ERROR The maximum number of waits has been exceeded, or a parameter error has occurred.
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-static RET_API
-WaitProc(PB_EVENT_OPEN_HANDLE* p_event_open, WAITING_CONDITION* st_condition, u_int32 ul_mill_sec_time) {
- RET_API ret_sts = RET_ERROR;
- u_int32 ul_wcn = 0;
-
- /* Get semaphore for event table */
- EventLockMutex(p_event_open);
-
- /* Loop for the maximum number of waiting threads per event and retrieve free area of state TBL */
- for (ul_wcn = 0; ul_wcn < MAX_PB_EVENT_WAIT_THREADS; ul_wcn++) {
- if ((p_event_open->p_sys_event->st_condition[ul_wcn].uc_use_flag == FALSE) && \
- (p_event_open->p_sys_event->st_condition[ul_wcn].uc_waiting == FALSE)) {
- /* For the unused state TBL */
- /* If the event wait flag is released, */
- /* finish searching when free area is found */
- ret_sts = RET_NORMAL;
- break;
- }
- }
-
- /* If there is free space in the state TBL */
- if (ret_sts == RET_NORMAL) {
- /* Set wait rule for free space of state TBL */
- /* Determine the wait rule */
- switch (st_condition->us_mode) { // LCOV_EXCL_BR_LINE 200: can not be EVWAIT_ALLCLR and EVWAIT_ANYSET
- case EVWAIT_VAL: /* For range waiting */
- {
- /* Set event monitoring mode */
- p_event_open->p_sys_event->st_condition[ul_wcn].us_mode = st_condition->us_mode;
- /* Set the minimum value for establishing an event */
- p_event_open->p_sys_event->st_condition[ul_wcn].l_min_val = st_condition->l_min_val;
- /* Set the maximum value for establishing an event */
- p_event_open->p_sys_event->st_condition[ul_wcn].l_max_val = st_condition->l_max_val;
- break;
- }
- case EVWAIT_ALLCLR: /* If waiting for the specified bit to be cleared */ // LCOV_EXCL_BR_LINE 200: can not be EVWAIT_ALLCLR
- case EVWAIT_ANYSET: /* If waiting for the specified bit to be set */ // LCOV_EXCL_BR_LINE 200: can not be EVWAIT_ANYSET
- {
- // LCOV_EXCL_START 200: can not be EVWAIT_ANYSET and EVWAIT_ALLCLR
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- /* Set event monitoring mode */
- p_event_open->p_sys_event->st_condition[ul_wcn].us_mode = st_condition->us_mode;
- /* Set event wait mask value */
- p_event_open->p_sys_event->st_condition[ul_wcn].ul_mask = st_condition->ul_mask;
- break;
- // LCOV_EXCL_STOP
- }
- default:
- ret_sts = RET_ERROR;
- }
- }
-
- /* When the specified mode is normal */
- if (ret_sts == RET_NORMAL) {
- /* Check if event wait conditions are met */
- BOOL bret = CheckCondition(p_event_open->p_sys_event, ul_wcn, p_event_open->p_sys_event->l_event_val);
-
- /* Target event received */
- if (bret == TRUE) {
- /* Set the received event value */
- st_condition->l_last_val = p_event_open->p_sys_event->l_event_val;
- /* Since it does not wait for an event, set the initial value to the state TBL. */
- p_event_open->p_sys_event->st_condition[ul_wcn].uc_waiting = FALSE;
- p_event_open->p_sys_event->st_condition[ul_wcn].uc_use_flag = FALSE;
- /* Set the default minimum value for the event */
- p_event_open->p_sys_event->st_condition[ul_wcn].l_min_val = MIN_EVENT_VAL;
- /* Set the default maximum value for the event */
- p_event_open->p_sys_event->st_condition[ul_wcn].l_max_val = MAX_EVENT_VAL;
-
- /* When the manual reset function is disabled */
- if (p_event_open->p_sys_event->uc_manual_reset != _CWORD64_EVENT_MANUALRESET_ON) {
- /* Initialize event values */
- p_event_open->p_sys_event->l_event_val = p_event_open->p_sys_event->l_reset_data;
- }
- } else {
- /* When no event is received */
- /* Set event wait state in free area of state TBL */
- /* Set event wait flag to waiting */
- p_event_open->p_sys_event->st_condition[ul_wcn].uc_waiting = TRUE;
- /* Set table usage flag in use */
- p_event_open->p_sys_event->st_condition[ul_wcn].uc_use_flag = TRUE;
-
- /* Perform event wait */
- ret_sts = EventWaitForSignal(p_event_open, ul_wcn, ul_mill_sec_time);
- /* Set event wait flag to unused */
- p_event_open->p_sys_event->st_condition[ul_wcn].uc_waiting = FALSE;
- /* Set table usage flag to unused */
- p_event_open->p_sys_event->st_condition[ul_wcn].uc_use_flag = FALSE;
- /* Set the default minimum value for the event */
- p_event_open->p_sys_event->st_condition[ul_wcn].l_min_val = MIN_EVENT_VAL;
- /* Setting the default maximum value for the event */
- p_event_open->p_sys_event->st_condition[ul_wcn].l_max_val = MAX_EVENT_VAL;
- /* Set event return value */
- st_condition->l_last_val = p_event_open->p_sys_event->st_condition[ul_wcn].l_last_val;
- }
- }
-
- /* Release semaphore for event table */
- EventUnlockMutex(p_event_open);
-
- return ret_sts;
-}
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : FindEventTable()
- * ABSTRACT : Event Table Search Processing
- * NOTE : Search the event table for the specified event name and return the index number
- * : of the event if it has been already registerd.
- * ARGUMENT : PB_EVENT *p_event_table Pointer to the start of event table array in the shared memory
- * : TCHAR *ptcEventName Event name to search
- * : u_int32* puc_index storage area for the index number of the specified event table
- * RETURN : BOOL FALSE No specified event
- * : TRUE Specified Event Yes
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-static BOOL
-FindEventTable(PB_EVENT* p_event_table, TCHAR* ptcEventName, u_int32* puc_index) {
- u_int32 ul_index = 0;
- BOOL bret = FALSE;
-
- for (ul_index = 0; ul_index < MAX_PB_EVENTS; ul_index++) {
- if (_tcscmp(p_event_table[ul_index].event_name, ptcEventName) == 0) {
- /* Save target index */
- *puc_index = ul_index;
- bret = TRUE;
- break;
- }
- }
-
- return bret;
-}
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : AllocNewEventTable()
- * ABSTRACT : Event table allocation processing
- * NOTE : Search the event table pointed to from the beginning for an area in
- * : which the event name is not registered, and returns its index number.
- * : The event table structure is allocated as an array in shared memory.
- * : One element of the array is the event table structure, and its index
- * : plus one is used as the event ID.
- * : Whether the event table structure is in use or unused is determined
- * : by whether the event name is set or not.
- * : Note: Since the Mutex part inside this function was deleted to
- * : fix a bug caused by Mutex leak, use Mutex around this function from the
- * : outside before using this function.
- * ARGUMENT : PB_EVENT *p_event_table Start pointer of the event table array in shared memory
- * : TCHAR *name Event name to reserve table Note: Currently unused.
- * : HANDLE hMutex Mutex handle for event table Note: Currently unused.
- * RETURN : DWORD other than -1 Index number of the allocted event table
- * : -1 There is no free space in the event table.
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-static BOOL
-AllocNewEventTable(PB_EVENT* p_event_table, u_int32* puc_index) {
- u_int32 ul_index = 0;
- BOOL bret = FALSE;
-
- for (ul_index = 0; ul_index < MAX_PB_EVENTS; ul_index++) {
- if (p_event_table[ul_index].event_name[0] == __TEXT('\0')) {
- *puc_index = ul_index;
- bret = TRUE;
- break;
- }
- }
-
- return bret;
-}
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : FreeEventTable()
- * ABSTRACT : Event table release processing
- * NOTE : Initialize the event name and event value of the index number
- * : of the specified event table to make them free.
- * ARGUMENT : PB_EVENT *p_event_table Start pointer of the event table array in shared memory
- * : int index Index number of the event table to release
- * : HANDLE hMutex Mutex handle for event table
- * RETURN : None
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-static void
-FreeEventTable(PB_EVENT* p_event_table, int index) {
- p_event_table[index].event_name[0] = __TEXT('\0');
- p_event_table[index].l_event_val = 0;
-}
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : CheckCondition()
- * ABSTRACT : Event condition determination processing
- * NOTE : Check whether the event value of the specified event table is
- * : satisfied as an event wait condition.
- * ARGUMENT : PB_EVENT *p_event_table Start pointer of the event table array in shared memory
- * : DWORD wcn Index number of the event table to be checked
- * RETURN : BOOL TRUE Condition satisfied
- * : FALSE Condition not met
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-static BOOL CheckCondition(PB_EVENT* p_sys_event, DWORD wcn, int32 l_event_data) {
- BOOL bret = FALSE;
-
- if (p_sys_event != NULL) { // LCOV_EXCL_BR_LINE 6: p_sys_event can not be NULL
- /* Determine the wait mode of the event state TBL. */
- switch (p_sys_event->st_condition[wcn].us_mode) { // LCOV_EXCL_BR_LINE 200: EVWAIT_ALLCLR and EVWAIT_ANYSET will not be called // NOLINT(whitespace/line_length)
- case EVWAIT_VAL: /* For value range wait */
- {
- /* Check whether the event value is within the condition satisfied range */
- if ((l_event_data >= p_sys_event->st_condition[wcn].l_min_val) &&
- (l_event_data <= p_sys_event->st_condition[wcn].l_max_val)) {
- bret = TRUE;
- }
- break;
- }
- case EVWAIT_ALLCLR: /* When waiting for all specified bits to be cleared */ // LCOV_EXCL_BR_LINE 200: can not be EVWAIT_ALLCLR // NOLINT(whitespace/line_length)
- {
- // LCOV_EXCL_START 200: can not be EVWAIT_ALLCLR
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- if ((((u_int32)l_event_data) & p_sys_event->st_condition[wcn].ul_mask) == EVENT_BIT_ZERO) {
- bret = TRUE;
- }
- break;
- // LCOV_EXCL_STOP
- }
- case EVWAIT_ANYSET: /* If the specified bit is waiting to set any bits */ // LCOV_EXCL_BR_LINE 200: can not be EVWAIT_ANYSET // NOLINT(whitespace/line_length)
- {
- // LCOV_EXCL_START 200: can not be EVWAIT_ALLCLR
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- if ((((u_int32)l_event_data) & p_sys_event->st_condition[wcn].ul_mask) != EVENT_BIT_ZERO) {
- bret = TRUE;
- }
- break;
- // LCOV_EXCL_STOP
- }
- default: /* If the wait mode is out of range, */
- break; /* return with error */
- }
- }
-
- return bret;
-}
-
-/**
- * @brief
- * Event generation processing
- *
- * @param[in] u_int8 uc_manual_reset
- * @param[in] int32 l_init_data
- * @param[in] char *cp_event_name Pointer to the names of event to be generated (NULL termination string)
- * @return EventID Non-zero Event ID created<br>
- * 0 Event generation error
- */
-static EventID EventCreateNewEventInSystem(u_int8 uc_manual_reset, int32 l_init_data, TCHAR* p_event_name) {
- PB_EVENT_OPEN_HANDLE *p_event_open = NULL;
- PB_EVENT_INSTANCE *p_inst = &g_instance;
- PB_EVENT *p_sys_event = NULL;
- EventID ret_event_id = 0;
- u_int32 ul_index = 0;
- BOOL bret = FALSE;
- EV_ERR ev_err;
-
- /* Parameter check */
- if (p_event_name != NULL) { // LCOV_EXCL_BR_LINE 6: p_event_name can not be NULL
- /* Parameter normal */
- /* Get the index number of the newly created event table */
- bret = AllocNewEventTable(p_inst->p_event_table, &ul_index);
-
- /* When there is no free space */
- if (bret == FALSE) {
- /* Error log output */
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "_CWORD64_api.dll:_pb_CreateEvent : AllocNewEventTable Full... \r\n");
- }
- }
-
- /* When there is free space */
- if (bret != FALSE) {
- /* allocate event table to generate from heap */
- /* */
- p_event_open = reinterpret_cast<PB_EVENT_OPEN_HANDLE*>(PbProcessHeapAlloc(0, sizeof(PB_EVENT_OPEN_HANDLE))); // LCOV_EXCL_BR_LINE 200: can not be NULL // NOLINT(whitespace/line_length)
-
- /* Failure in allocating heap area */
- if (p_event_open == NULL) { // LCOV_EXCL_BR_LINE 200: can not be NULL
- // LCOV_EXCL_START 200: can not be NULL
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- bret = FALSE;
- /* Error log output */
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__,
- "_CWORD64_api.dll:_pb_CreateEvent : CreateHeap ... GetAddr[0x%08x], size[%ld] \r\n",
- p_event_open, sizeof(PB_EVENT_OPEN_HANDLE));
- // LCOV_EXCL_STOP
- }
- }
-
- /* When the heap area can be allocated */
- if (bret != FALSE) {
- /* Initialization of generated event management information */
- p_event_open->index = ul_index;
- p_event_open->p_sys_event = &p_inst->p_event_table[ul_index];
- p_event_open->l_thread_ref = 1;
-
- /* Initialization processing of event information storage area */
- p_sys_event = p_event_open->p_sys_event;
- _tcscpy(p_sys_event->event_name, p_event_name); /* Event name registration */
- p_sys_event->l_event_val = l_init_data; /* Default setting */
- for (u_int32 ul_wcn = 0; ul_wcn < MAX_PB_EVENT_WAIT_THREADS; ul_wcn++) {
- p_sys_event->st_condition[ul_wcn].uc_use_flag = FALSE;
- p_sys_event->st_condition[ul_wcn].uc_waiting = FALSE;
- p_sys_event->st_condition[ul_wcn].us_mode = 0;
- p_sys_event->st_condition[ul_wcn].l_min_val = MIN_EVENT_VAL;
- p_sys_event->st_condition[ul_wcn].l_max_val = MAX_EVENT_VAL;
-
- /* Create Event Flag */
- ev_err = EV_create_flag_auto_id(&(p_sys_event->st_condition[0].flag_id[g_my_proc_cnt])); // LCOV_EXCL_BR_LINE 200: no branch // NOLINT(whitespace/line_length)
- if (ev_err != EV_OK) /* When initialization fails */ {
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, \
- "EV_create_flag_auto_id ERROR!! [ev_err=%d, flag_id=0x%x", \
- ev_err, p_sys_event->st_condition[0].flag_id[g_my_proc_cnt]);
-
- /* Release heap space */
- PbProcessHeapFree(0, p_event_open); // LCOV_EXCL_BR_LINE 200: no branch
-
- ret_event_id = 0;
- bret = FALSE;
- }
- }
-
- if (bret != FALSE) {
- p_sys_event->l_process_ref = 1; /* Set the number of references to this event. */
- p_sys_event->l_reset_data = l_init_data; /* Default setting */
- p_sys_event->uc_manual_reset = uc_manual_reset; /* Setting for a manual reset */
-
- /* Create an event table Mutex and set it in the event table. */
- bret = EventCreateMutex(p_event_open);
- /* If generating fails, reset is executed. */
- if (bret == FALSE) {
- FRAMEWORKUNIFIEDLOG(ZONE_INFO, __FUNCTION__, "_CWORD64_api.dll:%s:LINE %d\r\n", LTEXT(__FILE__), __LINE__); \
- FRAMEWORKUNIFIEDLOG(ZONE_INFO, __FUNCTION__, "CreateMutex Err ... Event Name[%s]\r\n", p_event_name);
- _pb_Exit();
- }
-
- /* Register event table with event instance */
- p_inst->p_handle_table[ul_index] = p_event_open;
- ret_event_id = ul_index + 1;
- }
- }
-
- return ret_event_id;
-}
-
-/**
- * @brief
- * Event generation processing
- *
- * @param[in] char *cpEventName Pointer to name of the event to be generated (NULL termination string)
- * @return EventID Non-zero Event ID created<br>
- * 0 Event generation error
- */
-static EventID EventCreateNewEventInProcess(u_int32 index) {
- PB_EVENT_OPEN_HANDLE *p_event_open = NULL;
- PB_EVENT_INSTANCE *p_inst = &g_instance;
- EventID ret_event_id = 0;
- EV_ERR ev_err;
-
- /* Already created in the same process */
- if (p_inst->p_handle_table[index] != NULL) { // LCOV_EXCL_BR_LINE 200: can not be NULL
- /* When the number of event references in the same process is less than the upper limit */
- if (p_inst->p_handle_table[index]->l_thread_ref < _CWORD64_EVENT_MAXOPEN_IN_PROCESS) {
- /* Increase the number of thread references */
- (p_inst->p_handle_table[index]->l_thread_ref)++;
- ret_event_id = index + 1;
- } else {
- /* When the number of event references in the same process is the upper limit */
- /* Error log output */
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__,
- "_pb_CreateEvent Err ... Event Max In Process : EventName[%s]\r\n",
- p_inst->p_handle_table[index]->p_sys_event->event_name);
- }
- } else {
- /* Creating for the first time in the process */
- /* Checking the upper limit of the reference count of the same event in the system */
- if (p_inst->p_event_table[index].l_process_ref < _CWORD64_EVENT_MAXOPEN_IN_SYSTEM) {
- /* Allocate event table to generate from heap */
- /* */
- p_event_open = reinterpret_cast<PB_EVENT_OPEN_HANDLE*>(PbProcessHeapAlloc(0, \
- sizeof(PB_EVENT_OPEN_HANDLE)));
-
- /* Failure in allocating heap area */
- if (p_event_open == NULL) {
- /* Error log output */
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, \
- "_CWORD64_api.dll:_pb_CreateEvent : CreateHeap ... GetAddr[0x%08x], size[%ld] \r\n", \
- p_event_open, sizeof(PB_EVENT_OPEN_HANDLE));
- }
- } else {
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__,
- "_pb_CreateEvent Err ... Event Max In sYSTEM : EventName[%s]\r\n",
- p_inst->p_handle_table[index]->p_sys_event->event_name);
- }
-
- /* When heap allocation is successful */
- if (p_event_open != NULL) {
- /* When it is not created in the same process, set each data. */
- /* Set the index to which the event name is registered */
- p_event_open->index = index;
- /* Initialize the reference count of the threads referencing this event in the same process. */
- p_event_open->l_thread_ref = 1;
- /* Set event instance start address */
- p_event_open->p_sys_event = &p_inst->p_event_table[index];
- /* Add the reference count of the process referencing this event in the system. */
- p_event_open->p_sys_event->l_process_ref++;
-
- /* Create an event flag */
- ev_err = EV_create_flag_auto_id(&(p_event_open->p_sys_event->st_condition[0].flag_id[g_my_proc_cnt]));
- if (ev_err != EV_OK) /* When initialization fails */ {
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, \
- "EV_create_flag_auto_id ERROR!! [ev_err=%d, flag_id=0x%x]",
- ev_err, p_event_open->p_sys_event->st_condition[0].flag_id[g_my_proc_cnt]);
-
- /* Release heap space */
- PbProcessHeapFree(0, p_event_open);
-
- ret_event_id = 0;
- } else {
- /* Even if event information already exists in the system, the Mutex is created for each process. */
- (void)_pb_CreateMutex(NULL, FALSE, p_event_open->p_sys_event->name_of_mutex);
-
- p_inst->p_handle_table[index] = p_event_open; /* Register event tables with event instance */
- ret_event_id = index + 1;
- }
- }
- }
-
- return ret_event_id;
-}
-
-/**
- * @brief
- * Send the signal
- *
- * Sends the specified event signal.
- *
- * - Sending signals in the CLS event library
- *
- * @param[in] PB_EVENT_OPEN_HANDLE *p_evet_open_handle
- * @param[in] u_int32 ul_index
- *
- * @return RET_NORMAL Normal completion<br>
- * RET_ERROR Other errors
- */
-static RET_API EventSendSignal(PB_EVENT_OPEN_HANDLE *p_evet_open_handle, u_int32 ul_index) {
- RET_API ret_api = RET_NORMAL;
- PB_EVENT_INSTANCE *p_inst = &g_instance;
- EV_ERR ev_err;
- int32 i;
- BOOL errFlag = TRUE;
-
- if ((p_evet_open_handle != NULL) &&
- (ul_index < MAX_PB_EVENT_WAIT_THREADS)) {
- for (i = 0; i <= p_inst->p_event_table->proc_cnt; i++) {
- /* Signal issuance */
- if (p_evet_open_handle->p_sys_event->st_condition[ul_index].flag_id[i] != 0) {
- ev_err = EV_set_flag(p_evet_open_handle->p_sys_event->st_condition[ul_index].flag_id[i], 1);
- if (ev_err == EV_OK) {
- errFlag = FALSE;
- }
- }
- }
- }
-
- if (errFlag == TRUE) /* Event issuance NG */ {
- ret_api = RET_ERROR;
- }
-
- return ret_api;
-}
-
-/**
- * @brief
- * Wait for the signal
- *
- * Wait until the specified signal is received. Timeout can be specified (ms).
- * When this API is called, the semaphore for the event element must be acquired.
- *
- * Receive a signal in the CLS event library.
- *
- * @param[in] *p_evet_open_handle
- * @param[in] ul_index
- * @param[in] ul_mill_sec_time
- *
- * @return RET_NORMAL Normal completion<br>
- * RET_ERRTIMEOUT Timeout End<br>
- * RET_ERROR Other errors
- */
-static RET_API EventWaitForSignal(PB_EVENT_OPEN_HANDLE *p_evet_open_handle, u_int32 ul_index, \
- u_int32 ul_mill_sec_time) {
- RET_API ret_api = RET_ERRTIMEOUT;
- EV_ERR ev_err;
- EV_Flag ev_flag;
- u_int32 timeOutCnt = 0;
-
- /* Parameter check */
- if ((p_evet_open_handle != NULL) && (ul_index < MAX_PB_EVENT_WAIT_THREADS)) { // LCOV_EXCL_BR_LINE 6: param can not be invalid // NOLINT(whitespace/line_length)
- /* Release semaphore for event table */
- EventUnlockMutex(p_evet_open_handle); // LCOV_EXCL_BR_LINE 200: no branch
-
- /* Distribute processing by timeout period */
- /* To check the event occurrence status */
- if (ul_mill_sec_time == 0) {
- /* Untreated */
- } else if (ul_mill_sec_time == INFINITE) {
- /* Without timeout */
- ret_api = RET_NORMAL;
-
- FRAMEWORKUNIFIEDLOG(ZONE_20, __FUNCTION__, "EV_wait_flag CALL [flag_id=0x%x]",
- p_evet_open_handle->p_sys_event->st_condition[ul_index].flag_id[g_my_proc_cnt]);
-
- /* Wait for event flag */
- ev_err = EV_wait_flag(p_evet_open_handle->p_sys_event->st_condition[ul_index].flag_id[g_my_proc_cnt], \
- &ev_flag); // LCOV_EXCL_BR_LINE 200: no branch
- if (ev_err != EV_OK) {
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, \
- "EV_wait_flag ERROR!! [ev_err=%d]", ev_err);
- ret_api = RET_ERROR;
- } else {
- FRAMEWORKUNIFIEDLOG(ZONE_20, __FUNCTION__, \
- "EV_wait_flag RETURN [ev_err=%d]", ev_err);
- }
- } else {
- /* When the timeout period is specified */
- FRAMEWORKUNIFIEDLOG(ZONE_20, __FUNCTION__, "EV_get_flag CALL [flag_id=0x%x]",
- p_evet_open_handle->p_sys_event->st_condition[ul_index].flag_id[g_my_proc_cnt]);
-
- while (1) {
- /* Get elag event */
- ev_err = EV_get_flag(p_evet_open_handle->p_sys_event->st_condition[ul_index].flag_id[g_my_proc_cnt], \
- &ev_flag); // LCOV_EXCL_BR_LINE 200: no branch
- if (ev_err == EV_OK) {
- if (ev_flag.flagID == EV_NO_ID) {
- timeOutCnt++;
- if (timeOutCnt <= ul_mill_sec_time) {
- usleep(1000); // LCOV_EXCL_BR_LINE 200: no branch
- } else {
- break; /* Timeout error */
- }
- } else {
- ret_api = RET_NORMAL;
- break;
- }
- } else {
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, \
- "EV_get_flag ERROR!! [ev_err=%d]", ev_err);
- ret_api = RET_ERROR;
- break;
- }
- }
-
- FRAMEWORKUNIFIEDLOG(ZONE_20, __FUNCTION__, "EV_get_flag BREAK [ret_api=%d]", ret_api);
- }
-
- /* Get event table semaphore */
- EventLockMutex(p_evet_open_handle); // LCOV_EXCL_BR_LINE 200: no branch
- } else {
- /* Parameter error */
- ret_api = RET_ERROR;
- }
-
- return ret_api;
-}
-
-/**
- * @brief
- * Create the mutex for event
- *
- * @param[in] *p_evet_open_handle
- *
- * @return TRUE Normal completion<br>
- * FALSE ABENDs
- */
-static BOOL EventCreateMutex(PB_EVENT_OPEN_HANDLE *p_evet_open_handle) {
- static u_int8 idx = 0;
- uint32_t ulPid; /* Process ID */
- BOOL bret = FALSE;
- TCHAR name[NAME_MAX];
- HANDLE handle;
-
- /* Parameter check */
- if (p_evet_open_handle != NULL) { // LCOV_EXCL_BR_LINE 6: p_evet_open_handle can not be NULL
- ulPid = (uint32_t)getpid();
-
- wsprintf(name, __TEXT("POS_BASE_EVENT_MUTEX%05d_p%d"), idx, ulPid);
-
- /****************************************/
- /* Create Mutex */
- /****************************************/
- handle = _pb_CreateMutex(NULL, FALSE, name);
- if (handle != NULL) {
- _tcscpy(p_evet_open_handle->p_sys_event->name_of_mutex, name);
- idx++;
- bret = TRUE;
- }
- }
-
- /* When mutex processing fails */
- if (bret != TRUE) {
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "bret ERROR [bret:%d]", bret);
- }
-
- return bret;
-}
-
-/**
- * @brief
- * Lock the mutex for event
- *
- * @param[in] *p_evet_open_handle
- */
-static void EventLockMutex(PB_EVENT_OPEN_HANDLE *p_evet_open_handle) {
- DWORD lret = WAIT_FAILED;
- HANDLE handle;
-
- if (p_evet_open_handle != NULL) { // LCOV_EXCL_BR_LINE 6: p_evet_open_handle can not be NULL
- /* Get handle from Mutex name */
- handle = _pb_CreateMutex(NULL, FALSE, p_evet_open_handle->p_sys_event->name_of_mutex);
-
- /****************************************/
- /* Get Mutex */
- /****************************************/
- lret = PbMutexLock(handle, INFINITE);
-
- /* Cancel by deleting the generated portion when a handle was acquired */
- (void)PbDeleteMutex(handle);
- }
-
- /* When mutex processing fails */
- if (lret != WAIT_OBJECT_0) {
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "lret ERROR [lret:%lu]", lret);
- }
-
- return;
-}
-
-/**
- * @brief
- * Unlock the mutex for event
- *
- * @param[in] *p_evet_open_handle
- */
-static void EventUnlockMutex(PB_EVENT_OPEN_HANDLE *p_evet_open_handle) {
- BOOL bret = FALSE;
- HANDLE handle;
-
- if (p_evet_open_handle != NULL) { // LCOV_EXCL_BR_LINE 6: p_evet_open_handle can not be NULL
- /* Get handle from Mutex name */
- handle = _pb_CreateMutex(NULL, FALSE, p_evet_open_handle->p_sys_event->name_of_mutex);
-
- /****************************************/
- /* Release Mutex */
- /****************************************/
- bret = PbMutexUnlock(handle);
-
- /* Cancel by deleting the generated portion when a handle was acquired */
- (void)PbDeleteMutex(handle);
- }
-
- /* When mutex processing fails */
- if (bret != TRUE) {
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "bret ERROR [bret:%d]", bret);
- }
-
- return;
-}
-
-/**
- * @brief
- * delete the mutex for event
- *
- * @param[in] *p_evet_open_handle
- */
-static void EventDeleteMutex(PB_EVENT_OPEN_HANDLE *p_evet_open_handle) {
- RET_API ret_api = RET_ERROR;
- HANDLE handle;
-
- if (p_evet_open_handle != NULL) { // LCOV_EXCL_BR_LINE 6: p_evet_open_handle can not be NULL
- /* Get handle from Mutex name */
- handle = _pb_CreateMutex(NULL, FALSE, p_evet_open_handle->p_sys_event->name_of_mutex);
-
- /****************************************/
- /* Delete Mutex */
- /****************************************/
- ret_api = static_cast<RET_API>(PbDeleteMutex(handle)); /* Coverity CID:18817 Comment Managed */
-
- /* Cancel by deleting the generated portion when a handle was acquired */
- (void)PbDeleteMutex(handle);
- }
-
- /* When mutex processing fails */
- if (ret_api != RET_NORMAL) {
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "ret_api ERROR [ret_api:%d]", ret_api);
- }
-
- return;
-}
-
-/**
- * @brief
- * Get dump information
- *
- * @param[out] p_buf Dump info
- * @param[in/out] p_len Buffer size
- */
-void _pb_GetDebugEventMngTbl(void* p_buf, uint8_t* p_len) {
- PB_EVENT_INSTANCE *p_inst = &g_instance;
- static uint8_t buf[DEBUG_DUMP_MAX_SIZE];
- static uint8_t bufHdlTbl[DEBUG_DUMP_MAX_SIZE];
- static uint8_t bufSysEvt[DEBUG_DUMP_MAX_SIZE];
- static uint8_t buf_tmp[DEBUG_DUMP_MAX_SIZE];
- uint8_t buf_indent[16];
- uint32_t i;
- PB_EVENT_OPEN_HANDLE* p_hdl_tbl;
- uint8_t cnt = 0;
-
- if ((p_buf != NULL) && (p_len != NULL)) {
- memset(&buf[0], 0x00, sizeof(buf));
- memset(&bufSysEvt, 0x00, sizeof(bufSysEvt));
- snprintf(reinterpret_cast<char *>(&buf_indent[0]), sizeof(buf_indent), " ");
- GetDebugEventMngTblSysEvent(&bufSysEvt[0], p_inst->p_event_table, &buf_indent[0]); // LCOV_EXCL_BR_LINE 200: no branch // NOLINT(whitespace/line_length)
- snprintf(reinterpret_cast<char *>(&buf[0]), sizeof(buf),
- "Event-1\n ShrMem:%p\n idEvt:%d\n Evt:\n%s",
- p_inst->h_shared_memory,
- p_inst->id_event_table_sem,
- &bufSysEvt[0]);
- memcpy(p_buf, &buf[0], sizeof(buf));
- p_buf = reinterpret_cast<void *>((reinterpret_cast<uint8_t *>(p_buf)) + sizeof(buf));
- cnt++;
- if (cnt < *p_len) {
- memset(&bufHdlTbl[0], 0x00, sizeof(bufHdlTbl));
- for (i = 0; i < MAX_PB_EVENTS; i++) {
- // p_handle_table
- memset(&buf_tmp[0], 0x00, sizeof(buf_tmp));
- p_hdl_tbl = p_inst->p_handle_table[i];
- if (p_hdl_tbl == NULL) {
- snprintf(reinterpret_cast<char *>(&buf_tmp[0]), sizeof(buf_tmp),
- "\n [%d] NULL",
- i);
- } else {
- memset(&bufSysEvt[0], 0x00, sizeof(bufSysEvt));
- snprintf(reinterpret_cast<char *>(&buf_indent[0]), sizeof(buf_indent), " ");
- GetDebugEventMngTblSysEvent(&bufSysEvt[0], p_hdl_tbl->p_sys_event, &buf_indent[0]);
- snprintf(reinterpret_cast<char *>(&buf_tmp[0]), sizeof(buf_tmp),
- "\n [%d]\n h_heap:%p, index:%lu, l_thread_ref:%d\n p_sys_event:\n%s",
- i,
- p_hdl_tbl->h_heap,
- p_hdl_tbl->index,
- p_hdl_tbl->l_thread_ref,
- &bufSysEvt[0]);
- }
- strncat(reinterpret_cast<char *>(&bufHdlTbl[0]), reinterpret_cast<char *>(&buf_tmp[0]), \
- strlen(reinterpret_cast<char *>(&buf_tmp[0])));
- if (((i + 1) % 4) == 0) {
- cnt++;
- memset(&buf[0], 0x00, sizeof(buf));
- snprintf(reinterpret_cast<char *>(&buf[0]), sizeof(buf),
- "Event-%d\n Handle:%s",
- cnt,
- &bufHdlTbl[0]);
- memcpy(p_buf, &buf[0], sizeof(buf));
- p_buf = reinterpret_cast<void *>((reinterpret_cast<uint8_t *>(p_buf)) + sizeof(buf));
- memset(&bufHdlTbl[0], 0x00, sizeof(bufHdlTbl));
- if (cnt >= *p_len) {
- break;
- }
- }
- }
- }
- if (cnt < *p_len) {
- if (bufHdlTbl[0] != 0x00) {
- cnt++;
- memset(&buf[0], 0x00, sizeof(buf));
- snprintf(reinterpret_cast<char *>(&buf[0]), sizeof(buf),
- "Event-%d\n Handle:%s",
- cnt,
- &bufHdlTbl[0]);
- memcpy(p_buf, &buf[0], sizeof(buf));
- }
- *p_len = cnt;
- }
- }
-}
-
-/**
- * @brief
- * Get dump information(PB_EVENT)
- *
- * @param[out] p_buf Dump info
- * @param[in] pEvt PB_EVENT
- * @param[in] pIndent Indenting
- */
-void GetDebugEventMngTblSysEvent(void* p_buf, PB_EVENT* pEvt, uint8_t* pIndent) {
- static uint8_t buf[DEBUG_DUMP_MAX_SIZE];
- static uint8_t buf_condition[1024];
- static uint8_t buf_flag_id[512];
- static uint8_t buf_tmp[DEBUG_DUMP_MAX_SIZE];
- uint32_t i;
- uint32_t e;
-
- if ((p_buf != NULL) && (pEvt != NULL)) { // LCOV_EXCL_BR_LINE 6: p_buf and pEvt can not be NULL
- memset(&buf, 0x00, sizeof(buf));
- memset(&buf_condition, 0x00, sizeof(buf_condition));
- snprintf(reinterpret_cast<char *>(&(buf_condition)), sizeof(buf_condition), "stCnd:");
- for (i = 0; i < MAX_PB_EVENT_WAIT_THREADS; i++) {
- memset(&buf_flag_id, 0x00, sizeof(buf_flag_id));
- for (e = 0; e < MAX_EVENT_PROC_NUM; e++) {
- memset(&buf_tmp[0], 0x00, sizeof(buf_tmp));
- snprintf(reinterpret_cast<char *>(&buf_tmp[0]), sizeof(buf_tmp),
- "[%d]0x%08x ", e, pEvt->st_condition[i].flag_id[e]);
- strncat(reinterpret_cast<char *>(&buf_flag_id[0]), reinterpret_cast<char *>(&buf_tmp[0]), \
- strlen(reinterpret_cast<char *>(&buf_tmp[0])));
- }
- memset(&buf_tmp[0], 0x00, sizeof(buf_tmp));
- snprintf(reinterpret_cast<char *>(&buf_tmp[0]), sizeof(buf_tmp),
- "\n%s [%d] UseFlg:%d, Wait:%d, Mode:%d, Mask:%d, Min:%d, Max:%d, Last:%d, flag:%s",
- pIndent,
- i,
- pEvt->st_condition[i].uc_use_flag,
- pEvt->st_condition[i].uc_waiting,
- pEvt->st_condition[i].us_mode,
- pEvt->st_condition[i].ul_mask,
- pEvt->st_condition[i].l_min_val,
- pEvt->st_condition[i].l_max_val,
- pEvt->st_condition[i].l_last_val,
- &buf_flag_id[0]);
- strncat(reinterpret_cast<char *>(&buf_condition[0]), reinterpret_cast<char *>(&buf_tmp[0]), \
- strlen(reinterpret_cast<char *>(&buf_tmp[0])));
- }
- memset(&buf_tmp[0], 0x00, sizeof(buf_tmp));
- snprintf(reinterpret_cast<char *>(&buf_tmp[0]), sizeof(buf_tmp),
- "%s EvtName:%s",
- pIndent,
- pEvt->event_name);
- strncat(reinterpret_cast<char *>(&buf[0]), reinterpret_cast<char *>(&buf_tmp[0]), \
- strlen(reinterpret_cast<char *>(&buf_tmp[0])));
- memset(&buf_tmp[0], 0x00, sizeof(buf_tmp));
- snprintf(reinterpret_cast<char *>(&buf_tmp[0]), sizeof(buf_tmp),
- "\n%s EvtVal:%d",
- pIndent,
- pEvt->l_event_val);
- strncat(reinterpret_cast<char *>(&buf[0]), reinterpret_cast<char *>(&buf_tmp[0]), \
- strlen(reinterpret_cast<char *>(&buf_tmp[0])));
- memset(&buf_tmp[0], 0x00, sizeof(buf_tmp));
- snprintf(reinterpret_cast<char *>(&buf_tmp[0]), sizeof(buf_tmp),
- "\n%s %s",
- pIndent,
- &buf_condition[0]);
- strncat(reinterpret_cast<char *>(&buf[0]), reinterpret_cast<char *>(&buf_tmp[0]), \
- strlen(reinterpret_cast<char *>(&buf_tmp[0])));
- memset(&buf_tmp[0], 0x00, sizeof(buf_tmp));
- snprintf(reinterpret_cast<char *>(&buf_tmp[0]), sizeof(buf_tmp),
- "\n%s ProcRef:%d",
- pIndent,
- pEvt->l_process_ref);
- strncat(reinterpret_cast<char *>(&buf[0]), reinterpret_cast<char *>(&buf_tmp[0]), \
- strlen(reinterpret_cast<char *>(&buf_tmp[0])));
- memset(&buf_tmp[0], 0x00, sizeof(buf_tmp));
- snprintf(reinterpret_cast<char *>(&buf_tmp[0]), sizeof(buf_tmp),
- "\n%s ResetData:%d",
- pIndent,
- pEvt->l_reset_data);
- strncat(reinterpret_cast<char *>(&buf[0]), reinterpret_cast<char *>(&buf_tmp[0]), \
- strlen(reinterpret_cast<char *>(&buf_tmp[0])));
- memset(&buf_tmp[0], 0x00, sizeof(buf_tmp));
- snprintf(reinterpret_cast<char *>(&buf_tmp[0]), sizeof(buf_tmp),
- "\n%s ManualReset:%d",
- pIndent,
- pEvt->uc_manual_reset);
- strncat(reinterpret_cast<char *>(&buf[0]), reinterpret_cast<char *>(&buf_tmp[0]), \
- strlen(reinterpret_cast<char *>(&buf_tmp[0])));
- memset(&buf_tmp[0], 0x00, sizeof(buf_tmp));
- snprintf(reinterpret_cast<char *>(&buf_tmp[0]), sizeof(buf_tmp),
- "\n%s name_of_mutex:%s",
- pIndent,
- pEvt->name_of_mutex);
- strncat(reinterpret_cast<char *>(&buf[0]), reinterpret_cast<char *>(&buf_tmp[0]), \
- strlen(reinterpret_cast<char *>(&buf_tmp[0])));
- memcpy(p_buf, &buf[0], sizeof(buf));
- }
-}
diff --git a/video_in_hal/vehicleservice/positioning_base_library/library/src/_pbFsys.cpp b/video_in_hal/vehicleservice/positioning_base_library/library/src/_pbFsys.cpp
deleted file mode 100755
index ee132b0..0000000
--- a/video_in_hal/vehicleservice/positioning_base_library/library/src/_pbFsys.cpp
+++ /dev/null
@@ -1,171 +0,0 @@
-/*
- * @copyright Copyright (c) 2016-2020 TOYOTA MOTOR CORPORATION.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/*
-* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- File name : _pbFsys.cpp
- System name : 05 Integration Platform
- Subsystem name : System common functions
- Title : System API file access control related processes
-* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-*/
-
-#include <vehicle_service/positioning_base_library.h>
-#include "WPF_STD_private.h"
-
-/*
- Constants and structure definitions
-* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-#define ALLOC_SIZE 0x00200000
-#define MAX_MUTEX_NAME_LEN 32
-
-/* Flag structure for file system protection */
-typedef struct {
- u_int8 file_write_flag;
- u_int8 dummy1;
- u_int8 recover_flag;
- u_int8 dummy2;
-} FSYS_FLAG_STRUCT;
-
-/* File system protection flag area control table */
-typedef struct {
- TCHAR mtx_name[MAX_MUTEX_NAME_LEN]; /* Mutex name */
- HANDLE h_mutex; /* Mutex handles */
-} FSYS_GLOBAL;
-
-/*
- Global Variable Definitions
-* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-FSYS_FLAG_STRUCT *g_fsys_flag_top_addr;
-
-/*
- External function prototype declaration
-* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-#ifdef __cplusplus
-extern "C" {
-#endif
- BOOL VirtualCopy(LPVOID lpv_dest, LPVOID lpv_src, DWORD cb_size, DWORD fdw_protect);
-#ifdef __cplusplus
-}
-#endif
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : FileSystemCheckInit
- * ABSTRACT : File system protection flag area and setting value initialization processing
- * NOTE : Allocate a flag area for protecting the file system, create a Mutex
- * : for locking the area, and initialize the flags as follows.
- * : File access flag :File Access Permission State
- * : FlashFS recovery status flag :FlashFS access-prohibited status
- * ARGUMENT : None
- * RETURN : RET_API define
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-RET_API
-FileSystemCheckInit(void) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- return (RET_NORMAL);
-}
-// LCOV_EXCL_STOP
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : FileSystemCheckTerm
- * ABSTRACT : File system protection flag area release processing
- * NOTE :
- * ARGUMENT : None
- * RETURN : None
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-void
-FileSystemCheckTerm(void) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
-}
-// LCOV_EXCL_STOP
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : SetFileAccessFlag
- * ABSTRACT : File access flag setting process
- * NOTE : Sets the write access state in the file access flag.Parameter
- * : Set "Write prohibited state" at the time of parameter error.
- * ARGUMENT : u_int8 status : File access flag setting value
- * WRITE_FLAG_OFF : Write prohibited state to file
- * WRITE_FLAG_ON : Write permission status for the file
- * RETURN : None
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-void
-SetFileAccessFlag(u_int8 status) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
-}
-// LCOV_EXCL_STOP
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : GetFileAccessFlag
- * ABSTRACT : File access flag acquisition processing
- * NOTE : Gets the write access status to a file from the file access flag
- * ARGUMENT : u_int8 *status Pointer for storing access status
- * RETURN : RET_NORMAL Normal completion Note : Always this value
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-RET_API
-GetFileAccessFlag(u_int8 *status) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- *status = WRITE_FLAG_ON;
- return (RET_NORMAL);
-}
-// LCOV_EXCL_STOP
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : SetFFSRecoverFlag
- * ABSTRACT : FLASH file system recovery processing status setting processing
- * NOTE : Sets the status of FLASH file system recovery
- * ARGUMENT : u_int8 status : FLASH file system recovery process status setting
- * RECOVER_OFF : Access authorization state
- * RECOVER_ON : Access prohibited status during recovery processing
- * RETURN : None
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-void
-SetFFSRecoverFlag(u_int8 status) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
-}
-// LCOV_EXCL_STOP
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : GetFFSRecoverFlag
- * ABSTRACT : FLASH file system recovery processing status acquisition processing
- * NOTE : Gets the status of FLASH file system recovery
- * ARGUMENT : u_int8 *status Pointer for storing recovery processing status
- * RETURN : RET_API define
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-RET_API
-GetFFSRecoverFlag(u_int8 *status) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- return (RET_NORMAL);
-}
-// LCOV_EXCL_STOP
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : GetFSAccessSts
- * ABSTRACT : File system access status acquisition processing
- * NOTE : Gets the access status to the file system
- * ARGUMENT : u_int8 *status Pointer for storing the file system access status
- * RETURN : RET_API define
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-RET_API
-GetFSAccessSts(u_int8 *status) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- *status = FSNOACCESS;
-
- return (RET_NORMAL);
-}
-// LCOV_EXCL_STOP
-
-/* End _pbFsys.cpp */
diff --git a/video_in_hal/vehicleservice/positioning_base_library/library/src/_pbMem.cpp b/video_in_hal/vehicleservice/positioning_base_library/library/src/_pbMem.cpp
deleted file mode 100755
index 4028ae3..0000000
--- a/video_in_hal/vehicleservice/positioning_base_library/library/src/_pbMem.cpp
+++ /dev/null
@@ -1,989 +0,0 @@
-/*
- * @copyright Copyright (c) 2016-2020 TOYOTA MOTOR CORPORATION.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/*
-* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- File name : _pbMem.cpp
- System name : 05 Integration Platform
- Subsystem name : System common functions
- Title : System API
-* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-*/
-
-#include <fcntl.h>
-#include <sys/mman.h>
-#include <sys/stat.h>
-#include <vehicle_service/positioning_base_library.h>
-#include "tchar.h"
-#include "WPF_STD_private.h"
-#include "_pbInternalProc.h"
-
-/*
- Constants and data type definitions
-* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-#define MAX_AREA_NAME_LEN 32
-#define MAX_FILENAME_LEN 32
-#define _CWORD64__MEM_MUTEX_NAME __TEXT("POS_BASE_MEM_MUTEX")
-#define MAX_ROMFILENAME_LEN (32-4) /* To the name appended with "_rom" at the time of registration */
-#define PHYADDR_MAX 0x9FFFFFFF /* Physical address of the boundary divided by 256 */
-#define ROM_DATA_SIZE 0x00400000 /* Size of the virtual ROM data area(4MB) */
-#define ALLOC_SIZE 0x00200000 /* 2MB (Minimum VirtualAlloc allocation of shared memory, */
-/* which is less than 2MB, is not mapped to shared memory) */
-#define OFFSET_SIZE 0x00001000 /* 4KB (VirtualCopy Addressing Units) */
-
- /* Memory map information */
-typedef struct TagMemMapItem {
- HANDLE h_heap; /* Handle of heap. */
- struct TagMemMapItem* p_next; /* Pointers to the next Chain memory map table */
- struct TagMemMapItem* p_prev; /* Pointers to the previous Chain memory map table */
- DWORD address;
- TCHAR name[MAX_AREA_NAME_LEN]; /* Name of shared data area(Not used when permit is processed) */
- HANDLE h_shared_mem; /* Shared memory handle */
-} MEMMAP_ITEM;
-
-/* Memory map information management table */
-typedef struct {
- HANDLE h_heap; /* Heap handle of the invoking table */
- MEMMAP_ITEM* p_head; /* Pointer to the first memory map information */
- MEMMAP_ITEM* p_tail; /* Pointer to the terminating memory map information */
- DWORD num_of_items; /* Chain memory map data */
- HANDLE h_mutex; /* _CWORD64__MEM_MUTEX Exclusive Mutex handles */
-} MEMMAP_LIST;
-
-typedef struct {
- DWORD mem_size;
- DWORD reserv[3];
-} _CWORD64_SHMHDR;
-
-/* LINK ROM data top address/size storage ROM data */
-typedef struct {
- u_int32 *link_rom_addr; /* ROM data start address */
- u_int32 link_size; /* ROM data size */
-} LINK_ROM;
-
-/*
- Internal function prototype declaration
-* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-static void UnlinkFromMemMapList(MEMMAP_ITEM* p_item);
-static void LinkToMemMapList(MEMMAP_ITEM* p_item);
-static MEMMAP_ITEM* FindMemMapItemByName(TCHAR* name);
-
-/*
- Global variable
-* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-MEMMAP_LIST* g_p_mem_map_list;
-
-/**
- * @brief
- * Memory API initialization
- *
- * @param[in] none
- *
- * @return RET_API RET_NORMAL Normal completion<br>
- * RET_ERROR ABENDs
- */
-
-RET_API MemoryInit(void) {
- RET_API ret_api = RET_NORMAL;
- TCHAR name[] = _CWORD64__MEM_MUTEX_NAME;
-
- // LCOV_EXCL_BR_START 5: standard lib error
- g_p_mem_map_list = reinterpret_cast<MEMMAP_LIST *>(PbProcessHeapAlloc(0, sizeof(MEMMAP_ITEM)));
- // LCOV_EXCL_BR_STOP
- if (g_p_mem_map_list == NULL) { // LCOV_EXCL_BR_LINE 5: standard lib error
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- ret_api = RET_ERROR; // LCOV_EXCL_LINE 5: standard lib error
- } else {
- /* Initialization of memory map information management table */
- g_p_mem_map_list->h_heap = NULL;
- g_p_mem_map_list->p_head = NULL;
- g_p_mem_map_list->p_tail = NULL;
- g_p_mem_map_list->num_of_items = 0;
-
- /* Create Mutex */
- g_p_mem_map_list->h_mutex = _pb_CreateMutex(NULL, TRUE, name); // LCOV_EXCL_BR_LINE 200: no branch
- if (g_p_mem_map_list->h_mutex == NULL) { // LCOV_EXCL_BR_LINE 200: can not be NULL
- // LCOV_EXCL_START 200:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "_pb_CreateMutex ERROR [name:%s]", name);
- _pb_Exit(); /* System recovery processing(Exception execution) */
- // LCOV_EXCL_STOP
- }
- }
-
- return ret_api;
-}
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : MemoryTerm
- * ABSTRACT : Memory API termination processing
- * NOTE : This function frees each allocated object.
- * : This function must be called only once by DllMain() at process termination.
- * ARGUMENT : None
- * RETURN : Return RET_NORMAL
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-RET_API
-MemoryTerm(void) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- RET_API ret_api = RET_NORMAL;
-
- if (g_p_mem_map_list == NULL) {
- ret_api = RET_ERROR;
- } else {
- /* Lock Mutex */
- PbMutexLock(g_p_mem_map_list->h_mutex, INFINITE);
-
- while (g_p_mem_map_list->num_of_items > 0) {
- MEMMAP_ITEM* p_item = g_p_mem_map_list->p_head;
- if (g_p_mem_map_list->num_of_items == 1) {
- /* Delete last one of memory map list */
- g_p_mem_map_list->p_head = NULL;
- g_p_mem_map_list->p_tail = NULL;
- g_p_mem_map_list->num_of_items = 0;
- } else {
- /* Deletes the beginning of the memory map list, with the next at the beginning. */
- g_p_mem_map_list->p_head = g_p_mem_map_list->p_head->p_next;
- g_p_mem_map_list->p_head->p_prev = NULL;
- g_p_mem_map_list->num_of_items--;
- }
-
- /* Releases the real memory specified in the memory map list. */
- if (p_item != NULL) {
- PbProcessHeapFree(0, p_item);
- p_item = NULL;
- }
- }
-
- /* Release Mutex */
- PbMutexUnlock(g_p_mem_map_list->h_mutex);
-
- /* Delete Mutex */
- PbDeleteMutex(g_p_mem_map_list->h_mutex);
-
- /* Free MEMMAP_LIST structure */
- PbProcessHeapFree(0, g_p_mem_map_list);
- g_p_mem_map_list = NULL;
- }
-
- return ret_api;
-}
-// LCOV_EXCL_STOP
-
-/**
- * @brief
- * Allocate Process Heap
- *
- * Allocates a memory block from the process heap
- *
- * @param[in] DWORD dw_flags Heap allocation scheme
- * @param[in] SIZE_T dw_bytes Number of bytes to allocate
- *
- * @return LPVOID Except NULL Pointer to the allocated memory block
- * NULL Assignment Failed
- */
-LPVOID PbProcessHeapAlloc(DWORD dw_flags, SIZE_T dw_bytes) {
- LPVOID pv_ret = NULL;
-
- if ((dw_flags & HEAP_ZERO_MEMORY) == 0) { // LCOV_EXCL_BR_LINE 200: dw_flags cannot have bit HEAP_ZERO_MEMORY
- /* Zero initialization not specified */
- pv_ret = malloc(dw_bytes);
- } else {
- /* Zero initialization specified */
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- pv_ret = calloc(dw_bytes, sizeof(char)); // LCOV_EXCL_LINE 200: dw_flags cannot have bit HEAP_ZERO_MEMORY
- }
-
- return pv_ret;
-}
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : PrivateHeapAlloc
- * ABSTRACT : Allocate a block of memory from the private heap
- * NOTE : Because there is no private-heap notion in PosixBasedOS001,
- * Allocate from the process-heap using ProcessHeapAlloc
- * ARGUMENT : DWORD dw_flags Controlling Heap Allocation Methods
- * : SIZE_T dw_bytes Number of bytes to allocate
- * RETURN : LPVOID Except NULL Pointer to the allocated memory block
- * : NULL Assignment Failed
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-LPVOID
-PrivateHeapAlloc(DWORD dw_flags, SIZE_T dw_bytes) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- return PbProcessHeapAlloc(dw_flags, dw_bytes);
-}
-// LCOV_EXCL_STOP
-
-/**
- * @brief
- * Free Process Heap
- *
- * Frees memory blocks allocated from the process heap
- *
- * @param[in] DWORD dw_flags Heap free method(Unused)
- * @param[in] LPVOID lp_mem Pointer to the memory to be freed
- *
- * @return BOOL Non-zero Normal completion
- * 0 ABENDs
- */
-BOOL PbProcessHeapFree(DWORD dw_flags, LPVOID lp_mem) {
- free(lp_mem);
-
- return TRUE;
-}
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : PrivateHeapFree
- * ABSTRACT : Free memory blocks allocated from private heap
- * NOTE : Because there is no private-heap notion in PosixBasedOS001,
- * Open using ProcessHeapFree
- * ARGUMENT : DWORD dw_flags Heap release option(Not used by PosixBasedOS001)
- * : LPVOID lp_mem Pointer to the memory to be freed
- * RETURN : BOOL Non-zero Normal
- * : 0 Abnormality
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-BOOL
-PrivateHeapFree(DWORD dw_flags, LPVOID lp_mem) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- return PbProcessHeapFree(dw_flags, lp_mem);
-}
-// LCOV_EXCL_STOP
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : MemPermit
- * ABSTRACT : Acquire access privilege to non-managed memory block of invoking process
- * NOTE : To the data of the unmanaged memory block of invoking process
- * : Allocate to accessible area of invoking process
- * ARGUMENT : u_int32 mem_adr Start address of the data area to which access privileges are granted
- * : u_int32 size Size of the data area to be granted access privileges
- * : int32 perm PERM_NONCACHE(Cache invalidation), PERM_CACHE(Cache enabled)
- * : void** ptr Returns the start address of the actual data area that can be accessed
- * RETURN : RET_API RET_NORMAL Normal completion
- * : RET_ERROR ABENDs
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-RET_API MemPermit(u_int32 mem_adr, u_int32 size, int32 perm, void** ptr) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- return RET_NORMAL;
-}
-// LCOV_EXCL_STOP
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : MemProtect
- * ABSTRACT : Revoking access privileges to invoking process unmanaged memory blocks
- * NOTE : Free unmanaged memory block allocated to invoking process area
- * ARGUMENT : u_int32 mem_adr Start address of the data area from which the access privilege is to be revoked
- * : u_int32 size Size of the data area for which access privileges are to be revoked
- * RETURN : RET_API RET_NORMAL Access privilege revocation successful
- * : RET_ERROR Failed to revoke access privilege
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-RET_API MemProtect(u_int32 mem_adr, u_int32 size) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- return RET_NORMAL;
-}
-// LCOV_EXCL_STOP
-
-/**
- * @brief
- * Create Share Data
- *
- * @param[in] char* area_name Pointer to shared data area name string
- * @param[in] u_int32 size Size of the data portion
- * @param[out] void** mem_ptr Pointer to the start address of the shared data area
- *
- * @return RET_API
- * RET_NORMAL Normal
- * RET_ERROR Abnormality
- */
-#ifdef _CWORD64_API_DOES_NOT_USE_UNICODE
-RET_API _pb_CreateShareData(char* area_name, u_int32 size, void** mem_ptr) // NOLINT(readability/nolint) WPF_SYSAPI.h
-#else
-RET_API _pb_CreateShareData(TCHAR* area_name, u_int32 size, void** mem_ptr) // NOLINT(readability/nolint) WPF_SYSAPI.h
-#endif // _CWORD64_API_DOES_NOT_USE_UNICODE
-{
- RET_API ret_api = RET_NORMAL;
- TCHAR *p_area_name = NULL;
- TCHAR name[MAX_AREA_NAME_LEN] = {0};
- HANDLE h_shm = NULL;
- _CWORD64_SHMHDR *p_hdr = reinterpret_cast<_CWORD64_SHMHDR *>(MAP_FAILED);
- MEMMAP_ITEM *p_item = NULL;
-#ifdef UNDER_CE
- TCHAR unicode_area_name[MAX_AREA_NAME_LEN] = {0};
-#endif // UNDER_CE
-
- if (mem_ptr == NULL) {
- ret_api = RET_ERROR; /* Parameter error */
- } else if (area_name == NULL) {
- ret_api = RET_ERROR; /* Parameter error */
- } else {
-#ifdef _CWORD64_API_DOES_NOT_USE_UNICODE
-#ifdef UNDER_CE
- if (area_name[0] == '\0') {
- ret_api = RET_ERROR;
- } else {
- /* Shared memory name character limit processing */
- if (strlen(area_name) >= MAX_AREA_NAME_LEN) {
- ret_api = RET_ERROR;
- } else {
- mbstowcs(unicode_area_name, area_name, MAX_AREA_NAME_LEN);
- p_area_name = unicode_area_name;
- }
- }
-#else
- p_area_name = area_name;
- if (_tcslen(p_area_name) >= MAX_AREA_NAME_LEN) {
- ret_api = RET_ERROR;
- }
-#endif
-#else
- p_area_name = area_name;
- if (_tcslen(p_area_name) >= MAX_AREA_NAME_LEN) {
- ret_api = RET_ERROR;
- }
-#endif
- }
-
- if (ret_api == RET_NORMAL) {
- if ((p_area_name[0] == __TEXT('\0')) || (size == 0)) {
- ret_api = RET_ERROR; /* Parameter error */
- }
- }
-
- if (ret_api == RET_NORMAL) {
- _tcscpy(name, p_area_name);
-
- /* Lock Mutex */
- PbMutexLock(g_p_mem_map_list->h_mutex, INFINITE); // LCOV_EXCL_BR_LINE 200: no branch
-
- p_item = FindMemMapItemByName(name); /* Search memory map object by area name */
- if (p_item != NULL) /* When there is already a generated name */ {
- *mem_ptr = NULL;
- ret_api = RET_ERROR; /* Return in error because it has been generated */
- } else {
- /* Allocate MEMMAP_ITEM structure from heap */
- // LCOV_EXCL_BR_START 5: standard lib error
- p_item = reinterpret_cast<MEMMAP_ITEM *>(PbProcessHeapAlloc(0, sizeof(MEMMAP_ITEM)));
- // LCOV_EXCL_BR_STOP
- if (p_item == NULL) { // LCOV_EXCL_BR_LINE 5: standard lib error
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- *mem_ptr = NULL; // LCOV_EXCL_LINE 5: standard lib error
- ret_api = RET_ERROR; /* Failed to allocate */ // LCOV_EXCL_LINE 5: standard lib error
- } else {
- p_item->h_heap = NULL;
- p_item->p_next = NULL;
- p_item->p_prev = NULL;
- p_item->address = 0;
- p_item->h_shared_mem = NULL;
- LinkToMemMapList(p_item); /* Add to end of memory map list */ // LCOV_EXCL_BR_LINE 200: no branch
-
- /* Allocate shared memory */
- h_shm = CreateSharedMemory(name, size + sizeof(_CWORD64_SHMHDR)); // LCOV_EXCL_BR_LINE 200: can not be null
- if (h_shm == NULL) { // LCOV_EXCL_BR_LINE 200: can not be null
- // LCOV_EXCL_START 200: can not be null
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- /* Remove the target memory-mapped object from the memory-mapped list */
- UnlinkFromMemMapList(p_item);
- PbProcessHeapFree(0, p_item);
- p_item = NULL;
- *mem_ptr = NULL;
- ret_api = RET_ERROR;
- // LCOV_EXCL_STOP
- } else {
- p_item->h_shared_mem = h_shm;
- /* Get Accessible Address */
- // LCOV_EXCL_BR_START 200: can not be null
- p_hdr = reinterpret_cast<_CWORD64_SHMHDR *>(GetSharedMemoryPtr(p_item->h_shared_mem));
- // LCOV_EXCL_BR_STOP
- if (p_hdr == NULL) { // LCOV_EXCL_BR_LINE 200: can not be null
- // LCOV_EXCL_START 200: can not be null
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- /* Delete allocated shared memory */
- CloseSharedMemory(h_shm);
- DeleteSharedMemory(name);
- /* Remove the target memory-mapped object from the memory-mapped list */
- UnlinkFromMemMapList(p_item);
- PbProcessHeapFree(0, p_item);
- p_item = NULL;
- *mem_ptr = NULL;
- ret_api = RET_ERROR;
- // LCOV_EXCL_STOP
- } else {
- p_hdr->mem_size = size;
- *mem_ptr = reinterpret_cast<void*>(p_hdr + 1); /* Start at the address following the header */
- _tcscpy(p_item->name, name); /* Name registration in the table */
- }
- }
- }
- }
-
- /* Release Mutex */
- PbMutexUnlock(g_p_mem_map_list->h_mutex); // LCOV_EXCL_BR_LINE 200: no branch
- } else {
- /* When an error occurs during parameter check */
- if (mem_ptr != NULL) {
- *mem_ptr = NULL;
- }
- }
-
- return ret_api;
-}
-
-/**
- * @brief
- * Link Share Data
- *
- * @param[in] char* area_name Pointer to shared data area name string
- * @param[out] void** mem_ptr Pointer to the start address of the shared data area
- * @param[out] u_int32* size Size of the data portion
- *
- * @return RET_API
- * RET_NORMAL Normal
- * RET_ERROR Abnormality
- */
-#ifdef _CWORD64_API_DOES_NOT_USE_UNICODE
-RET_API _pb_LinkShareData(char* area_name, void** mem_ptr, u_int32* size) // NOLINT(readability/nolint) WPF_SYSAPI.h
-#else
-RET_API _pb_LinkShareData(TCHAR* area_name, void** mem_ptr, u_int32* size) // NOLINT(readability/nolint) WPF_SYSAPI.h
-#endif // _CWORD64_API_DOES_NOT_USE_UNICODE
-{
- RET_API ret_api = RET_NORMAL;
- TCHAR *p_area_name = NULL;
- TCHAR name[MAX_AREA_NAME_LEN] = {0};
- _CWORD64_SHMHDR *p_hdr = reinterpret_cast<_CWORD64_SHMHDR *>(MAP_FAILED);
- MEMMAP_ITEM *p_item = NULL;
- HANDLE h_shm = NULL;
- HANDLE h_shm_temp = NULL;
- DWORD mem_size = 0;
-#ifdef UNDER_CE
- TCHAR unicode_area_name[MAX_AREA_NAME_LEN] = {0};
-#endif
-
- if (mem_ptr == NULL) {
- ret_api = RET_ERROR; /* Parameter error */
- } else if ((area_name == NULL) || (size == NULL)) {
- ret_api = RET_ERROR; /* Parameter error */
- } else {
-#ifdef _CWORD64_API_DOES_NOT_USE_UNICODE
-#ifdef UNDER_CE
- if (area_name[0] == '\0') {
- ret_api = RET_ERROR;
- } else {
- /* Shared memory name character limit processing */
- if (strlen(area_name) >= MAX_AREA_NAME_LEN) {
- ret_api = RET_ERROR;
- } else {
- mbstowcs(unicode_area_name, area_name, MAX_AREA_NAME_LEN);
- p_area_name = unicode_area_name;
- }
- }
-#else
- p_area_name = area_name;
- if (_tcslen(p_area_name) >= MAX_AREA_NAME_LEN) {
- ret_api = RET_ERROR;
- }
-#endif
-#else
- p_area_name = area_name;
- if (_tcslen(p_area_name) >= MAX_AREA_NAME_LEN) {
- ret_api = RET_ERROR;
- }
-#endif
- }
-
- if (ret_api == RET_NORMAL) {
- if (p_area_name[0] == __TEXT('\0')) {
- ret_api = RET_ERROR; /* Parameter error */
- }
- }
-
- if (ret_api == RET_NORMAL) {
- *size = 0;
- _tcscpy(name, p_area_name);
- mem_size = (u_int32) * size;
-
- /* Lock Mutex */
- PbMutexLock(g_p_mem_map_list->h_mutex, INFINITE); // LCOV_EXCL_BR_LINE 200: no branch
-
- p_item = FindMemMapItemByName(name); /* Search memory map object by area name */
- if (p_item != NULL) {
- /* When there is already a generated name */
- h_shm = p_item->h_shared_mem;
- // LCOV_EXCL_BR_START 200: can not be null
- p_hdr = reinterpret_cast<_CWORD64_SHMHDR*>(GetSharedMemoryPtr(h_shm)); /* Get Accessible Address */
- // LCOV_EXCL_BR_STOP
- if (p_hdr == NULL) { // LCOV_EXCL_BR_LINE 200: can not be null
- // LCOV_EXCL_START 200: can not be null
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- *mem_ptr = NULL;
- ret_api = RET_ERROR;
- // LCOV_EXCL_STOP
- } else {
- /* Start at the address following the header */
- *mem_ptr = reinterpret_cast<void *>(p_hdr + 1);
- *size = static_cast<u_int32>(p_hdr->mem_size);
- }
- } else {
- /* When no memory map object has been created */
- /* Allocate MEMMAP_ITEM structure from heap */
- // LCOV_EXCL_BR_START 5: standard lib error
- p_item = reinterpret_cast<MEMMAP_ITEM*>(PbProcessHeapAlloc(0, sizeof(MEMMAP_ITEM)));
- // LCOV_EXCL_BR_STOP
- if (p_item == NULL) { // LCOV_EXCL_BR_LINE 5: standard lib error
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- *mem_ptr = NULL; // LCOV_EXCL_LINE 5: standard lib error
- ret_api = RET_ERROR; /* Failed to allocate */ // LCOV_EXCL_LINE 5: standard lib error
- } else {
- p_item->h_heap = NULL;
- p_item->p_next = NULL;
- p_item->p_prev = NULL;
- p_item->address = 0;
- _tcscpy(p_item->name, name);
- p_item->h_shared_mem = NULL;
- LinkToMemMapList(p_item); /* Add to end of memory map list */ // LCOV_EXCL_BR_LINE 200: no branch
-
- ret_api = RET_ERROR; /* Process result initialization */
- /* Maps the shared data area to physical memory and returns its information pointer
- * (Check if not found by table lookup, but other processes are already reserved) */
- h_shm_temp = OpenSharedMemory(p_item->name, sizeof(_CWORD64_SHMHDR)); // LCOV_EXCL_BR_LINE 200: no branch
- if (h_shm_temp != NULL) {
- /* Get Accessible Address */
- p_hdr = reinterpret_cast<_CWORD64_SHMHDR*>(GetSharedMemoryPtr(h_shm_temp)); // LCOV_EXCL_BR_LINE 200: can not be NULL // NOLINT(whitespace/line_length)
- if (p_hdr != NULL) { // LCOV_EXCL_BR_LINE 200: can not be NULL
- mem_size = p_hdr->mem_size;
- ret_api = RET_NORMAL;
- }
- CloseSharedMemory(h_shm_temp); // LCOV_EXCL_BR_LINE 200: no branch
- }
-
- if (ret_api == RET_NORMAL) {
- ret_api = RET_ERROR; /* Process result initialization */
- /* Maps the shared data area to physical memory and returns its information pointer */
- h_shm = OpenSharedMemory(p_item->name, mem_size); // LCOV_EXCL_BR_LINE 200: no branch
- if (h_shm != NULL) {
- p_item->h_shared_mem = h_shm;
- /* Get Accessible Address */
- p_hdr = reinterpret_cast<_CWORD64_SHMHDR*>(GetSharedMemoryPtr(p_item->h_shared_mem));
- if (p_hdr != NULL) {
- *mem_ptr = reinterpret_cast<void*>(p_hdr + 1); /* Start at the address following the header */
- *size = static_cast<u_int32>(mem_size);
- ret_api = RET_NORMAL;
- }
- }
- }
-
- if (ret_api != RET_NORMAL) {
- UnlinkFromMemMapList(p_item); /* Remove the target memory-mapped object from the memory-mapped list */
-
- PbProcessHeapFree(0, p_item); // LCOV_EXCL_BR_LINE 200: no branch
- p_item = NULL;
- *mem_ptr = NULL;
- *size = 0;
- }
- }
- }
-
- /* Release Mutex */
- PbMutexUnlock(g_p_mem_map_list->h_mutex); // LCOV_EXCL_BR_LINE 200: no branch
- } else {
- /* When an error occurs during parameter check */
- if (mem_ptr != NULL) {
- *mem_ptr = NULL;
- }
- }
-
- return ret_api;
-}
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : PbDeleteShareData
- * ABSTRACT : Shared data area deletion processing
- * NOTE : Deletes (releases) the shared memory area allocated under the name of the shared data area.
- * ARGUMENT : char* area_name Pointer to shared data area name string
- * RETURN : RET_API RET_NORMAL Normal
- * : RET_ERROR The specified shared data does not exist
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-RET_API
-#ifdef _CWORD64_API_DOES_NOT_USE_UNICODE
-PbDeleteShareData(char* area_name) // LCOV_EXCL_START 8:dead code
-#else
-PbDeleteShareData(TCHAR* area_name)
-#endif // _CWORD64_API_DOES_NOT_USE_UNICODE
-{
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- RET_API ret_api = RET_NORMAL;
- TCHAR *p_area_name = NULL;
- TCHAR name[MAX_AREA_NAME_LEN] = {0};
- MEMMAP_ITEM *p_item = NULL;
-#ifdef UNDER_CE
- TCHAR unicode_area_name[MAX_AREA_NAME_LEN] = {0};
-#endif
-
- /* Parameter check */
- if (area_name == NULL) /* If the name of the shared area is NULL */ {
- ret_api = RET_ERROR;
- } else {
-#ifdef _CWORD64_API_DOES_NOT_USE_UNICODE
-#ifdef UNDER_CE
- if (strlen(area_name) >= MAX_AREA_NAME_LEN) {
- ret_api = RET_ERROR;
- } else {
- mbstowcs(unicode_area_name, area_name, MAX_AREA_NAME_LEN);
- p_area_name = unicode_area_name;
- }
-#else
- p_area_name = area_name;
- if (_tcslen(p_area_name) >= MAX_AREA_NAME_LEN) {
- ret_api = RET_ERROR;
- }
-#endif
-#else
- p_area_name = area_name;
- if (_tcslen(p_area_name) >= MAX_AREA_NAME_LEN) {
- ret_api = RET_ERROR;
- }
-#endif
- if (ret_api == RET_NORMAL) {
- if (p_area_name[0] == __TEXT('\0')) {
- ret_api = RET_ERROR;
- }
- }
- }
-
- if (ret_api == RET_NORMAL) {
- /* Shared memory is allocated with the name of the shared area, or the memory map information management table is searched. */
- _tcscpy(name, p_area_name);
-
- /* Lock Mutex */
- PbMutexLock(g_p_mem_map_list->h_mutex, INFINITE);
-
- p_item = FindMemMapItemByName(name); /* Search memory map object by area name */
- if (p_item == NULL) /* If the area name is not in the memory-map information management TBL */ {
- /* If the area name is not in the memory map information management TBL, it has not been created or deleted. */
- /* Release Mutex */
- PbMutexUnlock(g_p_mem_map_list->h_mutex);
- ret_api = RET_ERROR;
- } else {
- /* If the area name is in the memory map information management TBL */
- /* Removes the memory map information from the Chain of the memory map information management table. */
- UnlinkFromMemMapList(p_item);
-
- /* Releases the Mutex of the memory map information management table and releases the shared memory. */
- /* Release Mutex */
- PbMutexUnlock(g_p_mem_map_list->h_mutex);
-
- if (p_item->h_shared_mem != NULL) {
- CloseSharedMemory(p_item->h_shared_mem);
- p_item->h_shared_mem = NULL;
- }
-
- /* Frees memory-map information from the heap */
- PbProcessHeapFree(0, p_item);
-
- /* Deleting Shared Memory Objects */
- /*************************************************************/
- /* Note: Be sure to delete it, so Do not use DeleteShareData */
- /* if you want to link elsewhere. */
- /*************************************************************/
- DeleteSharedMemory(name);
- }
- }
-
- return ret_api;
-}
-// LCOV_EXCL_STOP
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : LinkRomData
- * ABSTRACT : ROM data link
- * NOTE : Links data located in ROM.
- * : Specifies the name of the file in which the data is to be stored, and points to the start address of the data.
- * : Get pointer and data size.
- * ARGUMENT : char *filename Pointer to the string of the name of the ROM data storage file
- * : void **mem_ptr Pointer to the start address of the ROM data storage file
- * : u_int32 *size Pointer to the size of the data portion
- * RETURN : RET_API RET_NORMAL Normal status
- * : RET_ERROR Specified ROM data storage file does not exist
- * : File name character string width error
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-#ifdef _CWORD64_API_DOES_NOT_USE_UNICODE
-RET_API LinkRomData(char* filename, void** mem_ptr, u_int32* size) // LCOV_EXCL_START 8:dead code
-#else
-RET_API LinkRomData(TCHAR* filename, void** mem_ptr, u_int32* size)
-#endif // _CWORD64_API_DOES_NOT_USE_UNICODE
-{
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- return RET_NORMAL; /* Coverity CID: 18772 compliant */
-}
-// LCOV_EXCL_STOP
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : PbAccessPhysicalMem
- * ABSTRACT : Access to Physical Memory Area Allocation Data
- * NOTE : Access data allocated in the physical memory area.
- * : The physical memory area is mapped to the shared memory area and mapped.
- * : The start address is returned.
- * ARGUMENT : u_int32 addr Start address of the physical memory area
- * : void **mem_ptr Pointer to the start address of the mapped shared area
- * : u_int32 size Size of the data
- * : u_int32 mode Access mode
- * : ACCESS_MODE_READONLY :Read Only
- * : ACCESS_MODE_READWRITE:Reading and Writing
- * RETURN : RET_API RET_NORMAL Normal status
- * : RET_ERRPARAM Parameter error
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-RET_API
-PbAccessPhysicalMem(u_int32 addr, void **mem_ptr, u_int32 size, u_int32 mode) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- return RET_NORMAL; /* Coverity CID: 18767 compliant */
-}
-// LCOV_EXCL_STOP
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : PbFreePhysicalMem
- * ABSTRACT : Access release processing to the physical memory area allocation data
- * NOTE : Releases access to data allocated in a physical memory area
- * : Releases the shared memory area Allocate by AccessPhysicalMem.
- * ARGUMENT : u_int32 addr Start address of the physical memory area to be released
- * : void *mem_ptr Pointer to the start address of the mapped shared area
- * : u_int32 size Data size to be released
- * RETURN : RET_API RET_NORMAL Normal status
- * : RET_ERRPARAM Parameter error
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-RET_API
-PbFreePhysicalMem(u_int32 addr, void *mem_ptr, u_int32 size) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- return RET_NORMAL; /* Coverity CID: 18766 compliant */
-}
-// LCOV_EXCL_STOP
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : FindMemMapItemByName
- * ABSTRACT : Memory map information retrieval processing
- * NOTE : Retrieves the memory map information by the specified shared data area name.
- * ARGUMENT : TCHAR* name Pointer to shared data area name character string
- * RETURN : MEMMAP_ITEM* !NULL Pointer to memory map information
- * : NULL Memory map information does not exist
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-static MEMMAP_ITEM*
-FindMemMapItemByName(TCHAR* name) {
- MEMMAP_ITEM* ret = NULL; /* _CWORD71_:QAC++4020:Multiple exit points found. MISRA-C++ Rule 6-6-5 */
- if (g_p_mem_map_list == NULL) { // LCOV_EXCL_BR_LINE 200: g_p_mem_map_list can not be NULL
- /* If the memory map information management table is not allocated, */
- /* nop */
- /* _CWORD71_:QAC++4020:Multiple exit points found. MISRA-C++ Rule 6-6-5 */
- } else if (g_p_mem_map_list->num_of_items == 0) {
- /* If no memory map information is allocated, */
- /* nop */
- /* _CWORD71_:QAC++4020:Multiple exit points found. MISRA-C++ Rule 6-6-5 */
- } else {
- /* _CWORD71_:QAC++4020:Multiple exit points found. MISRA-C++ Rule 6-6-5 */
- MEMMAP_ITEM* p_item = g_p_mem_map_list->p_head;
- /* Gets the pointer of the memory map Chain at the beginning of the file. */
- /* Loops until there is no memory map Chain */
- while (p_item != NULL) {
- if (_tcscmp(p_item->name, name) == 0) {
- /* If the name of the memory map information matches the name of the argument */
- /* _CWORD71_:QAC++4020:Multiple exit points found. MISRA-C++ Rule 6-6-5 */
- /* Returns a pointer to the memory map information */
- ret = p_item;
- break; /* _CWORD71_:QAC++4020:Multiple exit points found. MISRA-C++ Rule 6-6-5 */
- }
- p_item = p_item->p_next; /* Retrieves the pointers of the memory map data Chain next time. */
- }
- }
-
- return(ret); /* _CWORD71_:QAC++4020:Multiple exit points found. MISRA-C++ Rule 6-6-5 */
-}
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : LinkToMemMapList
- * NOTE : Adding a Memory Map Object to the Memory Map List
- * ARGUMENT : MEMMAP_ITEM* p_item Specify a memory-mapped object
- * RETURN : Without
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-static void
-LinkToMemMapList(MEMMAP_ITEM* p_item) {
- BOOL processing_complete = FALSE; /* _CWORD71_:QAC++4020:Multiple exit points found. MISRA-C++ Rule 6-6-5 */
- if (g_p_mem_map_list == NULL) { // LCOV_EXCL_BR_LINE 200: g_p_mem_map_list can not be NULL
- // LCOV_EXCL_START 200: g_p_mem_map_list can not be NULL
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- processing_complete = TRUE; /* _CWORD71_:QAC++4020:Multiple exit points found. MISRA-C++ Rule 6-6-5 */
- // LCOV_EXCL_STOP
- }
-
- /* _CWORD71_:QAC++4020:Multiple exit points found. MISRA-C++ Rule 6-6-5 */
- if ((processing_complete == FALSE) && (g_p_mem_map_list->num_of_items == 0)) {
- g_p_mem_map_list->p_head = p_item;
- g_p_mem_map_list->p_tail = p_item;
- g_p_mem_map_list->num_of_items = 1;
- processing_complete = TRUE; /* _CWORD71_:QAC++4020:Multiple exit points found. MISRA-C++ Rule 6-6-5 */
- }
-
- /* _CWORD71_:QAC++4020:Multiple exit points found. MISRA-C++ Rule 6-6-5 */
- if (processing_complete == FALSE) {
- g_p_mem_map_list->p_tail->p_next = p_item;
- p_item->p_prev = g_p_mem_map_list->p_tail;
- p_item->p_next = NULL;
- g_p_mem_map_list->p_tail = p_item;
- g_p_mem_map_list->num_of_items++;
- }
- return;
-}
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : UnlinkFromMemMapList
- * ABSTRACT : Memory map information deletion processing
- * NOTE : Memory map information specified by the pointer is stored in the memory map information management table.
- * : From the Chain structures.The memory map information is not released.
- * ARGUMENT : MEMMAP_ITEM* p_item Pointer to the memory map information to be deleted
- * RETURN : None
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-static void
-UnlinkFromMemMapList(MEMMAP_ITEM* p_item) {
- /* _CWORD71_:QAC++4020:Multiple exit points found. MISRA-C++ Rule 6-6-5 */
- BOOL processing_complete = FALSE;
- /* Parameter check */
- if (g_p_mem_map_list == NULL) { // LCOV_EXCL_BR_LINE 200: g_p_mem_map_list can not be NULL
- /* If the memory map information management table is not allocated, */
- /* nop */
- /* _CWORD71_:QAC++4020:Multiple exit points found. MISRA-C++ Rule 6-6-5 */
- } else if (p_item == NULL) { // LCOV_EXCL_BR_LINE 200: p_item can not be NULL
- /* If a pointer to memory-mapped information is not specified, */
- /* nop */
- /* _CWORD71_:QAC++4020:Multiple exit points found. MISRA-C++ Rule 6-6-5 */
- } else if (g_p_mem_map_list->num_of_items == 0) { // LCOV_EXCL_BR_LINE 200: num_of_items can not be 0
- /* If no memory map information is allocated, */
- /* nop */
- /* _CWORD71_:QAC++4020:Multiple exit points found. MISRA-C++ Rule 6-6-5 */
- } else {
- /* _CWORD71_:QAC++4020:Multiple exit points found. MISRA-C++ Rule 6-6-5 */
- /* Chain detachment process when there is only one memory map data item */
- if (g_p_mem_map_list->num_of_items == 1) {
- if (g_p_mem_map_list->p_head == p_item) {
- /* If only one memory map is reserved */
- /* For the top memory map information of the memo map information management table */
- g_p_mem_map_list->p_head = NULL; /* Initializes the top memory map to NULL. */
- g_p_mem_map_list->p_tail = NULL; /* NULL initialization of the termination memory map data */
- g_p_mem_map_list->num_of_items = 0; /* Initializes the control memory map information count to zero. */
- }
- /* Specified memory map information pointer does not exist */
- processing_complete = TRUE; /* _CWORD71_:QAC++4020:Multiple exit points found. MISRA-C++ Rule 6-6-5 */
- }
-
- /* Memory-map-information-removal process at the top of the Chain */
- if ((processing_complete == FALSE) && (p_item == g_p_mem_map_list->p_head)) {
- /* _CWORD71_:QAC++4020:Multiple exit points found. MISRA-C++ Rule 6-6-5 */
- /* If the specified memory map information is the first memory map information, */
- /* The leading memory map information pointer is changed to the next Chain pointer. */
- g_p_mem_map_list->p_head = g_p_mem_map_list->p_head->p_next;
- /* Change the previous Chain source of the first memory map to NULL */
- g_p_mem_map_list->p_head->p_prev = NULL;
- g_p_mem_map_list->num_of_items--; /* Decrement the number of management memory map information */
- p_item->p_next = NULL; /* Initialize the Chain destination of the removed memory map NULL. */
- processing_complete = TRUE; /* _CWORD71_:QAC++4020:Multiple exit points found. MISRA-C++ Rule 6-6-5 */
- }
-
- /* Memory-map data detachment process at the end of the Chain */
- if ((processing_complete == FALSE) && (p_item == g_p_mem_map_list->p_tail)) {
- /* _CWORD71_:QAC++4020:Multiple exit points found. MISRA-C++ Rule 6-6-5 */
- /* If the pointed-to memory-map information is terminated, */
- /* Change the terminating memory-map info pointer to the previous Chain source */
- g_p_mem_map_list->p_tail = g_p_mem_map_list->p_tail->p_prev;
- /* Change the Chain destination of the terminated memory map to NULL. */
- g_p_mem_map_list->p_tail->p_next = NULL;
- /* Decrement the number of management memory map information */
- g_p_mem_map_list->num_of_items--;
- /* The previous Chain source of the removed memory map data is NULL initialized. */
- p_item->p_prev = NULL;
- processing_complete = TRUE; /* _CWORD71_:QAC++4020:Multiple exit points found. MISRA-C++ Rule 6-6-5 */
- }
-
- /* Checking the memory map info Chain for errors */
- if ((processing_complete == FALSE) &&
- (g_p_mem_map_list->num_of_items <= 2)) {
- /* _CWORD71_:QAC++4020:Multiple exit points found. MISRA-C++ Rule 6-6-5 */
- /* No more than two memory maps are possible except at the beginning and end. */
- processing_complete = TRUE; /* _CWORD71_:QAC++4020:Multiple exit points found. MISRA-C++ Rule 6-6-5 */
- }
-
- /* Departure process other than the start and end of the memory map data Chain */
- if (processing_complete == FALSE) {
- /* _CWORD71_:QAC++4020:Multiple exit points found. MISRA-C++ Rule 6-6-5 */
- p_item->p_prev->p_next = p_item->p_next; /* Set the next Chain destination of the previous memory map to the next one */
- p_item->p_next->p_prev = p_item->p_prev; /* Previous Chain of one memory map before previous */
- g_p_mem_map_list->num_of_items--; /* Decrement the number of management memory map information */
- p_item->p_prev = NULL; /* The previous Chain source of the removed memory map data is NULL initialized. */
- p_item->p_next = NULL; /* Initialize the Chain destination of the removed memory map NULL. */
- }
- }
- return;
-}
-
-/**
- * @brief
- * Obtain dump information
- *
- * @param[out] p_buf Dump info
- */
-void _pb_GetDebugMemoryMngTbl(void* p_buf) { // NOLINT(readability/nolint) WPF_SYSAPI.h
- static uint8_t buf[DEBUG_DUMP_MAX_SIZE];
- static uint8_t buf_tmp[256];
- uint32_t i = 0;
-
- if (p_buf != NULL) {
- memset(&buf[0], 0x00, sizeof(buf));
- snprintf(reinterpret_cast<char *>(&buf[0]), sizeof(buf), "Memory");
-
- if (g_p_mem_map_list == NULL) { // LCOV_EXCL_BR_LINE 200: g_p_mem_map_list can not be NULL
- // LCOV_EXCL_START 200: g_p_mem_map_list can not be NULL
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- strncat(reinterpret_cast<char *>(&buf[0]), "\n NULL", strlen("\n NULL"));
- // LCOV_EXCL_STOP
- } else if (g_p_mem_map_list->num_of_items == 0) { // LCOV_EXCL_BR_LINE 200: num_of_items can not be 0
- // LCOV_EXCL_START 200: num_of_items can not be 0
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- strncat(reinterpret_cast<char *>(&buf[0]), "\n num_of_items:0", strlen("\n num_of_items:0"));
- // LCOV_EXCL_STOP
- } else {
- memset(&buf_tmp[0], 0x00, sizeof(buf_tmp));
- snprintf(reinterpret_cast<char *>(&buf_tmp[0]), sizeof(buf_tmp), // LCOV_EXCL_BR_LINE 5: c lib error case
- "\n h_heap:%p, p_head:%s, p_tail:%s, num_of_items:%lu, h_mutex:%p",
- g_p_mem_map_list->h_heap,
- ((g_p_mem_map_list->p_head == NULL)?"NULL":"NOT NULL"),
- ((g_p_mem_map_list->p_tail == NULL)?"NULL":"NOT NULL"),
- g_p_mem_map_list->num_of_items,
- g_p_mem_map_list->h_mutex);
- strncat(reinterpret_cast<char *>(&buf[0]), reinterpret_cast<char *>(&buf_tmp[0]), \
- strlen(reinterpret_cast<char *>(&buf_tmp[0])));
- MEMMAP_ITEM* p_item = g_p_mem_map_list->p_head;
- while (p_item != NULL) {
- memset(&buf_tmp[0], 0x00, sizeof(buf_tmp));
- snprintf(reinterpret_cast<char *>(&buf_tmp[0]), sizeof(buf_tmp),
- "\n [%02d]h_heap:%10p, p_next:%s, p_prev:%s, name:%40s, hShrMem:%10p, adr:%lu",
- i,
- p_item->h_heap,
- ((p_item->p_next == NULL)?"NULL ":"NOT NULL"),
- ((p_item->p_prev == NULL)?"NULL ":"NOT NULL"),
- p_item->name,
- p_item->h_shared_mem,
- p_item->address);
- i++;
- strncat(reinterpret_cast<char *>(&buf[0]), reinterpret_cast<char *>(&buf_tmp[0]), \
- strlen(reinterpret_cast<char *>(&buf_tmp[0])));
- p_item = p_item->p_next;
- }
- }
- memcpy(p_buf, &buf[0], sizeof(buf));
- }
-}
diff --git a/video_in_hal/vehicleservice/positioning_base_library/library/src/_pbMisc.cpp b/video_in_hal/vehicleservice/positioning_base_library/library/src/_pbMisc.cpp
deleted file mode 100755
index c52b7c6..0000000
--- a/video_in_hal/vehicleservice/positioning_base_library/library/src/_pbMisc.cpp
+++ /dev/null
@@ -1,226 +0,0 @@
-/*
- * @copyright Copyright (c) 2016-2020 TOYOTA MOTOR CORPORATION.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/*
-* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- File name : _pbMisc.cpp
- System name : 05 Integration Platform
- Subsystem name : System common functions
- Title : System API Time-of-day operations related processing group
-* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-*/
-
-#include <vehicle_service/positioning_base_library.h>
-#include "WPF_STD_private.h"
-
-/*
- Declaration of constant data type
-* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-typedef struct {
- DWORD time_on_january1_1970; /* Time on January 1, 1970 when it expressed */
- /* with the total second number from January 1, 1601 */
-} BTIME_INSTANCE;
-
-/*
- Internal function prototype declaration
-* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-static DWORD FileTimeToSeonds(FILETIME* p_ft);
-
-/*
- Global Variable Definitions
-* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-BTIME_INSTANCE g_instance; // NOLINT(readability/nolint) global class instance
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : MiscInit()
- * ABSTRACT : Time-related processing instance initialization processing
- * NOTE : Assign and hold 1/1/1970 to FILETIME variables
- * ARGUMENT : None
- * RETURN : RET_API RET_NORMAL Normal completion Note: Always this value
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-RET_API
-MiscInit(void) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- BTIME_INSTANCE *p_inst = &g_instance;
- SYSTEMTIME st;
- FILETIME ft;
- BOOL bret;
-
- /* Set the system time to the default value (January 1, 1970, 00:00:00). */
- st.wYear = 1970;
- st.wMonth = 1;
- st.wDayOfWeek = 0;
- st.wDay = 1;
- st.wHour = 0;
- st.wMinute = 0;
- st.wSecond = 0;
- st.wMilliseconds = 0;
-
- /* Converting System Time to File Time */
- bret = PbSystemTimeToFileTime(&st, &ft);
- if (bret != TRUE) {
- /* If the conversion fails, */
- p_inst->time_on_january1_1970 = 0; /* Save to instance with zero elapsed seconds */
- } else {
- /* If the conversion is successful, */
- p_inst->time_on_january1_1970 = FileTimeToSeonds(&ft); /* Save File Time Elapsed Seconds to Instance */
- }
-
- return(RET_NORMAL);
-}
-// LCOV_EXCL_STOP
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : FileTimeToSeonds()
- * ABSTRACT : File Time -> Time Conversion Processing
- * NOTE : Convert the file time to seconds
- * ARGUMENT : FILETIME *p_ft Pointer to the file time structure
- * RETURN : DWORD Elapsing time(In seconds)
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-static DWORD
-FileTimeToSeonds(FILETIME* p_ft) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- return 0;
-}
-// LCOV_EXCL_STOP
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : MiscTerm()
- * ABSTRACT : Time-related processing instance release processing
- * NOTE :
- * ARGUMENT : None
- * RETURN : RET_API RET_NORMAL Normal completion Note: Always this value
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-RET_API
-MiscTerm(void) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- return(RET_NORMAL);
-}
-// LCOV_EXCL_STOP
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : Sleep()
- * ABSTRACT : Sleep Processing
- * NOTE : Cause the caller to sleep at the number of ticks specified by the argument
- * ARGUMENT : u_int32 ticks Sleep time(Specify in ticks)
- * : 0 Sleep permanently
- * : 1 Discard the time slice
- * RETURN : RET_API Normal completion Note: Always this value
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-RET_API
-Sleep(u_int32 ticks) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- DWORD milliseconds;
-
- switch (ticks) {
- case 0: /* infinite delay. */
- {
- milliseconds = INFINITE;
- break;
- }
- case 1: /* the thread to relinquish the remainder of its time slice */
- /* to any other thread of equal priority that is ready to run. */
- /* If there are no other threads of equal priority ready to run, */
- /* the function returns immediately, and the thread continues execution. */
- {
- milliseconds = 0;
- break;
- }
- default: /* Time tranrate from per 10ms tick count to per milli second. */
- milliseconds = (DWORD)ticks * 10;
- break;
- }
- PbMilliSecSleep(static_cast<u_int32>(milliseconds));
-
- return(RET_NORMAL);
-}
-// LCOV_EXCL_STOP
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : PbMilliSecSleep()
- * ABSTRACT : Sleep Processing(Units of ms)
- * NOTE : Cause the caller to sleep at the number of ticks specified by the argument
- * ARGUMENT : u_int32 ul_mill_time Sleep time(Specified in millimeters)
- * : 0 Discard the time slice
- * : INFINITE Sleep permanently
- * RETURN : RET_API Normal completion Note: Always this value
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-RET_API PbMilliSecSleep(u_int32 ul_mill_time) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- switch (ul_mill_time) {
- case 0:
- {
- /* Discard the time slice */
- sched_yield();
- break;
- }
- case INFINITE:
- {
- /* Abort processing indefinitely */
- while (1) {
- sleep(INFINITE);
- }
- }
- default:
- /* Sleep for Specified Time */
- usleep(ul_mill_time * 1000);
- break;
- }
-
- return RET_NORMAL;
-}
-// LCOV_EXCL_STOP
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : SecSleep()
- * ABSTRACT : Sleep Processing(s unit)
- * NOTE : Cause the caller to sleep at the number of ticks specified by the argument
- * ARGUMENT : u_int32 ul_time Sleep time(Specify in seconds)
- * : 0 Discard the time slice
- * : INFINITE Sleep permanently
- * RETURN : RET_API Normal completion Note: Always this value
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-RET_API SecSleep(u_int32 ul_time) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- switch (ul_time) {
- case 0:
- {
- /* Discard the time slice */
- sched_yield();
- break;
- }
- case INFINITE:
- {
- /* Abort processing indefinitely */
- while (1) {
- sleep(INFINITE);
- }
- }
- default:
- /* Sleep for Specified Time */
- sleep(ul_time);
- break;
- }
-
- return RET_NORMAL;
-}
-// LCOV_EXCL_STOP
-
-/*
-* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- End of File : _sysMisc.cpp
-* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-*/
diff --git a/video_in_hal/vehicleservice/positioning_base_library/library/src/_pbMsg.cpp b/video_in_hal/vehicleservice/positioning_base_library/library/src/_pbMsg.cpp
deleted file mode 100755
index 3919239..0000000
--- a/video_in_hal/vehicleservice/positioning_base_library/library/src/_pbMsg.cpp
+++ /dev/null
@@ -1,1572 +0,0 @@
-/*
- * @copyright Copyright (c) 2016-2020 TOYOTA MOTOR CORPORATION.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * @file
- * _pbMsg.cpp
- */
-
-/*---------------------------------------------------------------------------------*
- * Include Files *
- *---------------------------------------------------------------------------------*/
-#include <native_service/frameworkunified_types.h>
-#include <vehicle_service/positioning_base_library.h>
-#include <native_service/ns_message_center_if.h>
-#include "_pbEvent_Internal.h"
-#include "_pbInternalProc.h"
-
-#include <native_service/frameworkunified_framework_if.h>
-#include "WPF_STD_private.h"
-#include "tchar.h"
-
-/*---------------------------------------------------------------------------------*
- * Define *
- *---------------------------------------------------------------------------------*/
-#define MSG_MAX_NUM_CTRL_MSGQUE (32) /* Maximum number of message queues */
-#define MSG_MAX_NUM_CTRL_THREAD (16) /* Maximum number of threads/process */
-
-#define FULL_MSG_NUM_CTRL_MSGQUE (MSG_MAX_NUM_CTRL_MSGQUE - 4) /* Message control table threshold (no free) */
-#define WARN_MSG_NUM_CTRL_MSGQUE (MSG_MAX_NUM_CTRL_MSGQUE - 10) /* Message control table threshold (warning) */
-
-/*---------------------------------------------------------------------------------*
- * Structure *
- *---------------------------------------------------------------------------------*/
-/*!
- @brief Control table for message queues
-*/
-typedef struct {
- PNO pno; /**< Process No. */
- char name[MAX_QUEUE_NAME_SIZE]; /**< Message Que Name */
- HANDLE h_positioningbaselibrary_sender[MSG_MAX_NUM_CTRL_THREAD]; /**< handle to the Sender */
- HANDLE h_sender; /**< handle to the Sender */
- HANDLE h_receiver; /**< handle to the Receiver */
- HANDLE h_zc_sender; /**< handle to the ZcSender */
- uint8_t msg_rcv_buf[MAX_QUEUE_MSG_SIZE]; /**< Message buffer */
-} MSG_CTRL_DETAIL_INFO;
-
-/*!
- @brief Control table for message queues
-*/
-typedef struct {
- MSG_CTRL_DETAIL_INFO info[MSG_MAX_NUM_CTRL_MSGQUE]; /**< message infomation */
- uint32_t use_cnt; /**< Use Counter */
- uint32_t rsv_cnt; /**< Reserve Counter */
-} MSG_CTRL_INFO;
-
-/*---------------------------------------------------------------------------------*
- * Grobal Value *
- *---------------------------------------------------------------------------------*/
-/**
- Message control table
- Note: Access to this instance shall be made through the operation module.
-*/
-static MSG_CTRL_INFO g_msg_ctrl_tbl; // NOLINT(readability/nolint) global Class instance
-
-/** Message-control-table-locking Mutex handles */
-static HANDLE g_h_mtx;
-
-/*---------------------------------------------------------------------------------*
- * Local Function Prototype *
- *---------------------------------------------------------------------------------*/
-/* Message Control Table Operation Functions */
-static void MsgSetPnoOfCtrlTbl(u_int32 idx, PNO pno); /* PNO setting */
-static PNO MsgGetPnoOfCtrlTbl(u_int32 idx); /* PNO acquisition */
-static void MsgSetNameOfCtrlTbl(u_int32 idx, LPCTSTR name); /* Message queue name setting */
-static char* MsgGetNameOfCtrlTbl(u_int32 idx); /* Get Message Queue Name */
-static void MsgSetReceiverHandleOfCtrlTbl(u_int32 idx, HANDLE handle); /* Message queue handle setting */
-static HANDLE MsgGetReceiverHandleOfCtrlTbl(u_int32 idx); /* Get message queue handle */
-static void MsgSetSenderHandleOfCtrlTbl(u_int32 idx, HANDLE handle); /* Message send handle setting */
-static HANDLE MsgGetSenderHandleOfCtrlTbl(u_int32 idx); /* Get message send handle */
-/* Message send handle setting*/
-static void MsgSetPositioningbaselibrarySenderHandleOfCtrlTbl(u_int32 idx, HANDLE handle, uint32_t offset);
-static HANDLE MsgGetPositioningbaselibrarySenderHandleOfCtrlTbl(u_int32 idx, uint32_t offset); /* Get message send handle */
-static void MsgSetZcSenderHandleOfCtrlTbl(u_int32 idx, HANDLE handle); /* Message send handle setting */
-static HANDLE MsgGetZcSenderHandleOfCtrlTbl(u_int32 idx); /* Get message send handle */
-static uint8_t* MsgGetMsgRcvBufOfCtrlTbl(uint32_t idx); /* Get message receive buffer */
-static u_int32 MsgSearchEmptyOfCtrlTbl(void); /* Retrieval of free space in control table */
-static u_int32 MsgSearchPnoOfCtrlTbl(PNO pno); /* Retrieval of control table PNO */
-static u_int32 MsgSearchNameOfCtrlTbl(LPCTSTR name); /* Retrieve control table queue name */
-static void MsgIncUseCntOfCtrlTbl(void); /* Control table usage counter increment */
-static void MsgDecUseCntOfCtrlTbl(void); /* Control table usage counter increment */
-static void MsgIncRsvCntOfCtrlTbl(void); /* Control table reservation counter increment */
-static void MsgDecRsvCntOfCtrlTbl(void); /* Control table reservation counter increment */
-
-/* Mutex handling Functions for Accessing Message Control Tables */
-static void MsgCreateMutex(void); /* Mutex generating */
-/* Message send handle setting */
-/* static void MsgDeleteMutex(void); */ // Todo:Uncomment out after completion of implementation of termination processing
-static void MsgLockMutex(void); /* Mutex retrieval */
-static void MsgUnlockMutex(void); /* Mutex release */
-
-/*---------------------------------------------------------------------------------*
- * Function *
- *---------------------------------------------------------------------------------*/
-/**
- * @brief
- * Initialize the message function
- *
- * Message control table initialization
- *
- * @return RET_NORMAL Normal completion<br>
- * RET_ERRPARAM Parameter error
- */
-RET_API MsgInit(void) {
- RET_API ret_api = RET_NORMAL;
- u_int32 i;
-
- MsgCreateMutex();
-
- /* Control table initialization */
- memset(g_msg_ctrl_tbl.info, 0x00, sizeof(g_msg_ctrl_tbl.info));
-
- for (i = 0; i < MSG_MAX_NUM_CTRL_MSGQUE; i++) {
- /* Empty character is set for the message queue name. */
- _tcscpy(g_msg_ctrl_tbl.info[i].name, "");
- }
- g_msg_ctrl_tbl.use_cnt = 0;
- g_msg_ctrl_tbl.rsv_cnt = 0;
-
- return ret_api;
-}
-
-/**
- * @brief
- * Term
- *
- * @return RET_NORMAL Normal completion<br>
- * RET_ERROR ABENDs
- */
-RET_API MsgTerm(void) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- RET_API ret_api = RET_ERROR;
- RET_API ret;
- EFrameworkunifiedStatus estatus;
- HANDLE handle;
- u_int32 idx;
- PNO pno;
-
- MsgLockMutex();
-
- /* Release Message Transmission/Reception Handle */
- for (idx = 0; idx < MSG_MAX_NUM_CTRL_MSGQUE; idx++) {
- /* Receive handle acquisition */
- pno = MsgGetPnoOfCtrlTbl(idx);
- if (pno != 0) {
- /* For queue information for internal threads */
- /* Delete Message Queue */
- ret = PbDeleteMsg(pno);
- if (ret != RET_NORMAL) {
- FRAMEWORKUNIFIEDLOG(ZONE_WARN, __FUNCTION__, "McClose ERROR " \
- "[ret:%d, pno:%d]", ret, pno);
- /* The module returns OK even if it fails. */
- }
- } else {
- /* Other than the above(Send handle to external process) */
- /* Get send handle */
- handle = MsgGetSenderHandleOfCtrlTbl(idx);
- if (handle != NULL) {
- estatus = FrameworkunifiedMcClose(handle);
- if (estatus != eFrameworkunifiedStatusOK) {
- FRAMEWORKUNIFIEDLOG(ZONE_WARN, __FUNCTION__, "FrameworkunifiedMcClose ERROR " \
- "[estatus:%d, handle:%p]", estatus, handle);
- /* The module returns OK even if it fails. */
- } else {
- /* Message control table update */
- MsgSetSenderHandleOfCtrlTbl(idx, NULL); /* Send handle */
-
- MsgSetNameOfCtrlTbl(idx, ""); /* Name */
- }
-
- FRAMEWORKUNIFIEDLOG(ZONE_20, __FUNCTION__, "### MESSAGE TABLE INFORMATION # " \
- "(--) idx=%d, pno=%d, h_positioningbaselibrary_sender[%d]=%p, h_sender=%p, h_receiver=%p, name=%s",
- idx, MsgGetPnoOfCtrlTbl(idx), PbGetLocalTid(), MsgGetPositioningbaselibrarySenderHandleOfCtrlTbl(idx, \
- PbGetLocalTid()), MsgGetSenderHandleOfCtrlTbl(idx), MsgGetReceiverHandleOfCtrlTbl(idx), \
- MsgGetNameOfCtrlTbl(idx));
- }
- }
- }
-
- MsgUnlockMutex();
-
- /* MsgDeleteMutex(); */ // Todo:Uncomment out after completion of implementation of termination processing
-
- /* TODO:Delete the shared memory for the message management table */
-
- return ret_api;
-}
-// LCOV_EXCL_STOP
-
-/**
- * @brief
- * Create the message queue
- *
- * Creates a message queue.
- * This function is implemented on the assumption that a thread name is assigned by prctl() and then called from that thread.
- * The generated message queue name is the same as the thread name.
- *
- * @param[in] pno Process number
- *
- * @return RET_NORMAL Normal completion<br>
- * RET_ERRPARAM Parameter error<br>
- * RET_ERROR Other errors
- */
-RET_API _pb_CreateMsg(PNO pno) { // NOLINT(readability/nolint) interface
- RET_API ret_api = RET_NORMAL; /* Results of this Module process */
- u_int32 idx;
- HANDLE handle = NULL;
- char name[MAX_QUEUE_NAME_SIZE];
- size_t len;
-
- /* If PNO is invalid (0), the parameter is abnormal and processing is not performed. */
- if (pno == 0) {
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "Argument ERROR [pno:%d]", pno);
- ret_api = RET_ERRPARAM;
- } else {
- /* Get Thread Name */
- (void)prctl(PR_GET_NAME, name);
-
- len = _tcslen(name);
- if (len >= MAX_QUEUE_NAME_SIZE) {
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "Length of thread name is too long(>=%d). " \
- "[len:%zu]", MAX_QUEUE_NAME_SIZE, len);
- ret_api = RET_ERRPARAM;
- } else {
- MsgLockMutex(); // LCOV_EXCL_BR_LINE 200: no branch
-
- /* Check if the specified PNO is already registered */
- idx = MsgSearchPnoOfCtrlTbl(pno); // LCOV_EXCL_BR_LINE 200: no branch
-
- /* When the entry is already stored */
- if (idx != MSG_MAX_NUM_CTRL_MSGQUE) {
- /* No processing */
- FRAMEWORKUNIFIEDLOG(ZONE_20, __FUNCTION__, "### MESSAGE TABLE INFORMATION # " \
- "(+) idx=%d, pno=%d, h_positioningbaselibrary_sender[%d]=%p, h_sender=%p, h_receiver=%p, name=%s", \
- idx, MsgGetPnoOfCtrlTbl(idx), PbGetLocalTid(), MsgGetPositioningbaselibrarySenderHandleOfCtrlTbl(idx, \
- PbGetLocalTid()), MsgGetSenderHandleOfCtrlTbl(idx), MsgGetReceiverHandleOfCtrlTbl(idx), \
- MsgGetNameOfCtrlTbl(idx));
- } else {
- /* Not registered */
- /* Search for free space */
- idx = MsgSearchEmptyOfCtrlTbl();
- if (idx == MSG_MAX_NUM_CTRL_MSGQUE) { // LCOV_EXCL_BR_LINE 200: idx can not be MSG_MAX_NUM_CTRL_MSGQUE
- /* Be impossible by design */
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "MsgSearchEmptyOfCtrlTbl ERROR " \
- "[idx:%d]", idx);
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- _pb_Exit(); // LCOV_EXCL_LINE 200: idx can not be MSG_MAX_NUM_CTRL_MSGQUE
-
- /* don't arrive here. */
- } else {
- /* Create Message Queue */
- handle = McOpenReceiver(name); // LCOV_EXCL_BR_LINE 4: nsfw error
- if (handle == NULL) { // LCOV_EXCL_BR_LINE 4: nsfw error
- /* In the event of failure */
- // LCOV_EXCL_START 5: standard lib error
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "McOpenReceiver ERROR " \
- "[handle:%p, name:%s]", handle, name);
- _pb_Exit();
- // LCOV_EXCL_STOP
- /* don't arrive here. */
- } else {
- /* If successful */
- /* Message control table update */
- MsgSetPnoOfCtrlTbl(idx, pno); /* PNO */ // LCOV_EXCL_BR_LINE 200: no branch
-
- MsgSetReceiverHandleOfCtrlTbl(idx, handle); /* Receive handle */ // LCOV_EXCL_BR_LINE 200: no branch // NOLINT(whitespace/line_length)
-
- MsgSetNameOfCtrlTbl(idx, name); /* Name */ // LCOV_EXCL_BR_LINE 200: no branch
-
- /* Increment Message Control Table Usage Counter */
- MsgIncUseCntOfCtrlTbl();
-
- FRAMEWORKUNIFIEDLOG(ZONE_20, __FUNCTION__, \
- "### MESSAGE TABLE INFORMATION # (++) idx=%d, pno=%d, h_positioningbaselibrary_sender[%d]=%p, " \
- "h_sender=%p, h_receiver=%p, name=%s", idx, MsgGetPnoOfCtrlTbl(idx), \
- PbGetLocalTid(), MsgGetPositioningbaselibrarySenderHandleOfCtrlTbl(idx, PbGetLocalTid()), \
- MsgGetSenderHandleOfCtrlTbl(idx), MsgGetReceiverHandleOfCtrlTbl(idx), \
- MsgGetNameOfCtrlTbl(idx));
- }
- }
- }
-
- MsgUnlockMutex(); // LCOV_EXCL_BR_LINE 200: no branch
- }
- }
-
- return ret_api;
-}
-
-/**
- * @brief
- * Delete the message queue
- *
- * Delete a message queue.
- * Deleted from the message control table even if closing of the send/receive handle fails
- *
- * @param[in] pno
- *
- * @return RET_NORMAL Normal completion
- */
-RET_API PbDeleteMsg(PNO pno) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- RET_API ret_api = RET_NORMAL; /* Results of this Module process */
- uint32_t idx;
- uint32_t i;
- HANDLE handle;
- EFrameworkunifiedStatus estatus;
-
- idx = MsgSearchPnoOfCtrlTbl(pno);
- if (idx != MSG_MAX_NUM_CTRL_MSGQUE) {
- /* Receive handle acquisition */
- handle = MsgGetReceiverHandleOfCtrlTbl(idx);
- if (handle != NULL) {
- estatus = McClose(handle);
- if (estatus != eFrameworkunifiedStatusOK) {
- FRAMEWORKUNIFIEDLOG(ZONE_WARN, __FUNCTION__, "McClose ERROR " \
- "[estatus:%d, handle:%p]", estatus, handle);
- /* The module returns OK even if the Close fails. */
- }
- }
-
- /* Get send handle */
- handle = MsgGetSenderHandleOfCtrlTbl(idx);
- if (handle != NULL) {
- estatus = McClose(handle);
- if (estatus != eFrameworkunifiedStatusOK) {
- FRAMEWORKUNIFIEDLOG(ZONE_WARN, __FUNCTION__, "McClose ERROR " \
- "[estatus:%d, handle:%p]", estatus, handle);
- /* The module returns OK even if the Close fails. */
- }
- }
-
- /* Get send handle */
- handle = MsgGetZcSenderHandleOfCtrlTbl(idx);
- if (handle != NULL) {
- estatus = McZcClose(handle);
- if (estatus != eFrameworkunifiedStatusOK) {
- FRAMEWORKUNIFIEDLOG(ZONE_WARN, __FUNCTION__, "McZcClose ERROR " \
- "[estatus:%d, handle:%p]", estatus, handle);
- /* The module returns OK even if the Close fails. */
- }
- }
-
- /* Message control table update */
- MsgSetPnoOfCtrlTbl(idx, 0); /* PNO */
-
- for (i = 0; i < MSG_MAX_NUM_CTRL_THREAD; i++) {
- MsgSetPositioningbaselibrarySenderHandleOfCtrlTbl(idx, NULL, i); /* Send handle */
- }
-
- MsgSetSenderHandleOfCtrlTbl(idx, NULL); /* Send handle */
-
- MsgSetReceiverHandleOfCtrlTbl(idx, NULL); /* Receive handle */
-
- MsgSetNameOfCtrlTbl(idx, ""); /* Name */
-
- /* Decrement Message Control Table Usage Counter */
- MsgDecUseCntOfCtrlTbl();
-
- FRAMEWORKUNIFIEDLOG(ZONE_20, __FUNCTION__, "### MESSAGE TABLE INFORMATION # " \
- "(--) idx=%d, pno=%d, h_positioningbaselibrary_sender[%d]=%p, h_sender=%p, h_receiver=%p, name=%s", \
- idx, MsgGetPnoOfCtrlTbl(idx), PbGetLocalTid(), MsgGetPositioningbaselibrarySenderHandleOfCtrlTbl(idx, \
- PbGetLocalTid()), MsgGetSenderHandleOfCtrlTbl(idx), MsgGetReceiverHandleOfCtrlTbl(idx), \
- MsgGetNameOfCtrlTbl(idx));
- }
-
- return ret_api;
-}
-// LCOV_EXCL_STOP
-
-/**
- * @brief
- * Receive the message
- *
- * Receive a message for the specified PNO.If the specified PNO is invalid, an error is returned.
- * If the size of the received data exceeds the size specified in the parameter, an error is returned.
- *
- * @param[in] pno Process number
- * @param[in] size Message size
- * @param[out] msgbuf Pointer to message area
- * @param[in] mode Not used
- *
- * @return RET_NORMAL Normal completion<br>
- * RET_ERRPARAM Parameter error<br>
- * RET_ERROR Other errors
- */
-RET_API _pb_RcvMsg(PNO pno, u_int16 size, void** msgbuf, u_int16 mode) { // NOLINT(readability/nolint) interface
- RET_API ret_api = RET_RCVMSG; /* Results of this Module process */
- u_int32 idx;
- HANDLE h_msg_que = NULL;
- char source[MAX_QUEUE_NAME_SIZE];
- u_int32 cmd_id;
- EFrameworkunifiedStatus rcv_sts;
- u_int8* p_msg_rcv_buf;
- u_int32 msg_len = 0;
- void* p_rcv_data;
-
- /* Null Check */
- if (msgbuf == NULL) {
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "Argument ERROR [msgbuf:%p]", msgbuf);
- ret_api = RET_ERRPARAM;
- } else if (pno == 0) {
- /* PNO-invalid Check */
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "Argument ERROR [pno:%d]", pno);
- ret_api = RET_ERRPARAM;
- } else {
- /* Search if the specified PNO is registered in the control table */
- idx = MsgSearchPnoOfCtrlTbl(pno); // LCOV_EXCL_BR_LINE 200: no branch
- /* Not stored */
- if (idx == MSG_MAX_NUM_CTRL_MSGQUE) {
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "MsgSearchPnoOfCtrlTbl ERROR " \
- "[idx:%d, pno:0x%x]", idx, pno);
- ret_api = RET_ERRPARAM;
- } else {
- /* If it is registered */
- /* Handle acquisition */
- h_msg_que = MsgGetReceiverHandleOfCtrlTbl(idx); // LCOV_EXCL_BR_LINE 200: recv handle created in _pb_CreateMsg //NOLINT(whitespace/line_length)
- if (h_msg_que == NULL) { // LCOV_EXCL_BR_LINE 200: recv handle created in _pb_CreateMsg
- /* Be impossible by design */
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "Msg_getMsgQueHandleOfCtrlTbl ERROR " \
- "[h_msg_que:%p, idx:%d]", h_msg_que, idx);
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- _pb_Exit(); // LCOV_EXCL_LINE 200: recv handle created in _pb_CreateMsg
-
- /* don't arrive here. */
- }
-
- /* Get Message Buffer */
- p_msg_rcv_buf = MsgGetMsgRcvBufOfCtrlTbl(idx); // LCOV_EXCL_BR_LINE 200: no branch
-
- /* Receive message */
- // LCOV_EXCL_BR_START 4: nsfw error
- rcv_sts = McReceive(h_msg_que,
- source, /* app that sent this message */
- &cmd_id, /* Command ID */
- MAX_QUEUE_MSG_SIZE,
- (PVOID)p_msg_rcv_buf);
- // LCOV_EXCL_BR_STOP
-
- if (rcv_sts != eFrameworkunifiedStatusOK) { // LCOV_EXCL_BR_LINE 4: nsfw error
- /* In the event of failure */
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "McReceive ERROR " \
- "[rcv_sts:%d, h_msg_que:%p, source:%s, cmd_id:0x%x]", rcv_sts, h_msg_que, source, cmd_id);
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- ret_api = RET_ERROR; // LCOV_EXCL_LINE 4: nsfw error
- } else {
- /* If successful */
- /* Size check */
- msg_len = McGetLength(p_msg_rcv_buf); // LCOV_EXCL_BR_LINE 4: nsfw error
- if ((msg_len <= size) && (msg_len > 0)) { // LCOV_EXCL_BR_LINE 4: nsfw error
- /* OK */
- /* Get Message */
- p_rcv_data = McGetDataPointer(p_msg_rcv_buf); // LCOV_EXCL_BR_LINE 4: nsfw error
- if (p_rcv_data == NULL) { // LCOV_EXCL_BR_LINE 4: nsfw error
- // LCOV_EXCL_START 4: nsfw error
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- rcv_sts = McGetDataOfSize(p_msg_rcv_buf, *msgbuf, msg_len);
- if (rcv_sts != eFrameworkunifiedStatusOK) { // LCOV_EXCL_BR_LINE 4: nsfw error
- /* Message acquisition failure */
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, \
- "McGetDataOfSize ERROR [rcv_sts:%d]", rcv_sts);
- ret_api = RET_ERROR;
- // LCOV_EXCL_STOP
- } else {
- FRAMEWORKUNIFIEDLOG(ZONE_20, __FUNCTION__, \
- "McReceive/McGetDataOfSize SUCCESS [rcv_sts:%d, h_msg_que:%p, source:%s, " \
- "cmd_id:0x%x, msg_len:%d]", rcv_sts, h_msg_que, source, cmd_id, msg_len);
- }
- } else {
- *msgbuf = p_rcv_data;
- }
- } else {
- /* NG */
- // LCOV_EXCL_START 4: nsfw error
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "McGetLength ERROR " \
- "[size:%d < msg_len:%d]", size, msg_len);
- ret_api = RET_ERROR;
- // LCOV_EXCL_STOP
- }
- }
- }
- }
-
- return ret_api;
-}
-
-/**
- * @brief
- * Send the message
- *
- * For in-process communication
- * Sends a message to the specified PNO.If the specified PNO is invalid, an error is returned.
- *
- * @param[in] pno Process number
- * @param[in] size Message size
- * @param[in] msgbuf Pointer to message storage area
- * @param[in] mode Not used
- *
- * @return RET_NORMAL Normal completion<br>
- * RET_ERRPARAM Parameter error<br>
- * RET_ERROR Other errors
- */
-RET_API _pb_SndMsg(PNO pno, u_int16 size, void* msgbuf, u_int16 mode) { // NOLINT(readability/nolint) interface
- RET_API ret_api = RET_NORMAL; /* Results of this Module process */
- u_int32 idx;
- PCSTR msg_que_name;
- HANDLE handle; /* handle to the send message queue */
- EFrameworkunifiedStatus estatus;
- T_APIMSG_MSGBUF_HEADER *p_msg_header;
- CID cid;
-
- /* Null Check */
- if (msgbuf == NULL) {
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "Argument ERROR [msgbuf:%p]", msgbuf);
- ret_api = RET_ERRPARAM;
- } else if (pno == 0) {
- /* PNO-invalid Check */
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "Argument ERROR [pno:%d]", pno);
- ret_api = RET_ERRPARAM;
- } else {
- MsgLockMutex();
-
- /* Check if the specified PNO is registered in the message control table */
- idx = MsgSearchPnoOfCtrlTbl(pno);
- if (idx == MSG_MAX_NUM_CTRL_MSGQUE) {
- /* Not stored */
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "MsgSearchPnoOfCtrlTbl ERROR!! " \
- "[pno=%d]", pno);
-
- ret_api = RET_ERRPARAM;
- } else {
- /* If it is registered */
- /* Acquire transmission handle from management table */
- handle = MsgGetSenderHandleOfCtrlTbl(idx);
- if (handle == NULL) {
- /* Get message queue name */
- msg_que_name = MsgGetNameOfCtrlTbl(idx);
-
- /* Get send handle */
- handle = McOpenSender(msg_que_name); // LCOV_EXCL_BR_LINE 4: nsfw error
- /* When handle acquisition fails */
- if (handle == NULL) { // LCOV_EXCL_BR_LINE 4: nsfw error
- // LCOV_EXCL_START 4: nsfw error
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "McOpenSender ERROR " \
- "[handle:%p, msg_que_name:%s]", handle, msg_que_name);
-
- ret_api = RET_ERROR;
- // LCOV_EXCL_STOP
- }
-
- /* Message control table update */
- MsgSetSenderHandleOfCtrlTbl(idx, handle); /* Send handle */
-
- FRAMEWORKUNIFIEDLOG(ZONE_20, __FUNCTION__, "### MESSAGE TABLE INFORMATION # " \
- "(+) idx=%d, pno=%d, h_positioningbaselibrary_sender[%d]=%p, h_sender=%p, h_receiver=%p, name=%s", \
- idx, MsgGetPnoOfCtrlTbl(idx), PbGetLocalTid(), MsgGetPositioningbaselibrarySenderHandleOfCtrlTbl(idx, \
- PbGetLocalTid()), MsgGetSenderHandleOfCtrlTbl(idx), MsgGetReceiverHandleOfCtrlTbl(idx), \
- MsgGetNameOfCtrlTbl(idx));
- }
- /* When handle acquisition is successful */
- if (handle != NULL) {
- p_msg_header = reinterpret_cast<T_APIMSG_MSGBUF_HEADER*>(msgbuf);
- cid = p_msg_header->hdr.cid;
-
- /* Messaging */
- estatus = McSend(handle,
- "", /* Sender name */
- cid, /* Command ID */
- size,
- msgbuf); // LCOV_EXCL_BR_LINE 4: nsfw error
- /* When transmission fails */
- if (estatus != eFrameworkunifiedStatusOK) { // LCOV_EXCL_BR_LINE 4: nsfw error
- // LCOV_EXCL_START 4: nsfw error
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "McSend ERROR " \
- "[estatus:%d, idx:%d, handle:%p, cid:0x%x, size:%d]", estatus, idx, handle, cid, size);
- ret_api = RET_ERROR;
- // LCOV_EXCL_STOP
- } else {
- FRAMEWORKUNIFIEDLOG(ZONE_20, __FUNCTION__, "McSend SUCCESS " \
- "[estatus:%d, idx:%d, handle:%p, cid:0x%x, size:%d]", estatus, idx, handle, cid, size);
- }
-
- /* Close all handles at the time of termination */
- }
- }
-
- MsgUnlockMutex();
- }
-
- return ret_api;
-}
-
-/**
- * @brief
- * Acquire transmission buffer for in-process communication (for non-copy API)
- * Gets the buffer for sending messages to the specified PNO.If the specified PNO is invalid, an error is returned.
- * Set the send data in the acquired buffer and send it with _pb_ZcSndMsg().
- *
- * @param[in] pno Process number
- * @param[out] p_snd_buf Transmitting buffer
- *
- * @return RET_NORMAL Normal completion<br>
- * RET_ERRPARAM Parameter error<br>
- * RET_ERROR Other errors
- */
-RET_API _pb_GetZcSndBuf(PNO pno, void** p_snd_buf) { // NOLINT(readability/nolint) interface
- RET_API ret_api = RET_NORMAL; /* Results of this Module process */
- u_int32 idx;
- PCSTR msg_que_name;
- HANDLE handle; /* handle to the send message queue */
-
- /* PNO-invalid Check */
- if (pno == 0) {
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "Argument ERROR [pno:%d]", pno);
- ret_api = RET_ERRPARAM;
- } else {
- MsgLockMutex();
-
- /* Check if the specified PNO is registered in the message control table */
- idx = MsgSearchPnoOfCtrlTbl(pno);
- if (idx == MSG_MAX_NUM_CTRL_MSGQUE) {
- /* Not stored */
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "MsgSearchPnoOfCtrlTbl ERROR!! [pno=%d]", pno);
-
- ret_api = RET_ERRPARAM;
- } else {
- /* If it is registered */
- /* Acquire transmission handle from management table */
- handle = MsgGetZcSenderHandleOfCtrlTbl(idx);
- if (handle == NULL) {
- /* Get message queue name */
- msg_que_name = MsgGetNameOfCtrlTbl(idx);
-
- /* Get send handle */
- handle = McZcOpenSender(msg_que_name); // LCOV_EXCL_BR_LINE 4: nsfw error
- if (handle == NULL) { // LCOV_EXCL_BR_LINE 4: nsfw error
- // LCOV_EXCL_START 4: nsfw error
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- /* When handle acquisition fails */
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "McOpenSender ERROR " \
- "[handle:%p, msg_que_name:%s]", handle, msg_que_name);
-
- ret_api = RET_ERROR;
- // LCOV_EXCL_STOP
- }
-
- /* Message control table update */
- MsgSetZcSenderHandleOfCtrlTbl(idx, handle); /* Send handle */
-
- FRAMEWORKUNIFIEDLOG(ZONE_20, __FUNCTION__, "### MESSAGE TABLE INFORMATION # " \
- "(+) idx=%d, pno=%d, h_positioningbaselibrary_sender[%d]=%p, h_sender=%p, h_receiver=%p, name=%s",
- idx, MsgGetPnoOfCtrlTbl(idx), PbGetLocalTid(), MsgGetPositioningbaselibrarySenderHandleOfCtrlTbl(idx, \
- PbGetLocalTid()), MsgGetSenderHandleOfCtrlTbl(idx), MsgGetReceiverHandleOfCtrlTbl(idx), \
- MsgGetNameOfCtrlTbl(idx));
- }
-
- if (handle != NULL) {
- /* When handle acquisition is successful */
- /* Get message send buffer */
- *p_snd_buf = McZcGetBuf(handle); // LCOV_EXCL_BR_LINE 4: nsfw error
- if (*p_snd_buf == NULL) { // LCOV_EXCL_BR_LINE 4: nsfw error
- // LCOV_EXCL_START 4: nsfw error
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- /* When buffer acquisition fails */
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "McZcSetParam ERROR " \
- "[idx:%d, handle:%p]", idx, handle);
- ret_api = RET_ERROR;
- // LCOV_EXCL_STOP
- }
-
- /* Close all handles at the time of termination */
- }
- }
-
- MsgUnlockMutex();
- }
-
- return ret_api;
-}
-
-/**
- * @brief
- * Send the message
- *
- * For in-process communication(for non-copy API)
- * Sends a message to the specified PNO.If the specified PNO is invalid, an error is returned.
- * Before calling this function, send data must be set in the area acquired by _pb_GetZcSndBuf().
- *
- * @param[in] pno Process number
- * @param[in] size Message size
- * @param[in] mode Not used
- *
- * @return RET_NORMAL Normal completion<br>
- * RET_ERRPARAM Parameter error<br>
- * RET_ERROR Other errors
- */
-RET_API _pb_ZcSndMsg(PNO pno, u_int16 size, u_int16 mode) { // NOLINT(readability/nolint) interface
- RET_API ret_api = RET_NORMAL; /* Results of this Module process */
- u_int32 idx;
- HANDLE handle; /* handle to the send message queue */
- EFrameworkunifiedStatus estatus;
- T_APIMSG_MSGBUF_HEADER *p_msg_header;
- CID cid;
- void* p_send_data;
-
- /* PNO-invalid Check */
- if (pno == 0) {
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "Argument ERROR [pno:%d]", pno);
- ret_api = RET_ERRPARAM;
- } else {
- MsgLockMutex();
-
- /* Check if the specified PNO is registered in the message control table */
- idx = MsgSearchPnoOfCtrlTbl(pno);
- if (idx == MSG_MAX_NUM_CTRL_MSGQUE) {
- /* Not stored */
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "MsgSearchPnoOfCtrlTbl ERROR!! [pno=%d]", pno);
-
- ret_api = RET_ERRPARAM;
- } else {
- /* If it is registered */
- /* Acquire transmission handle from management table */
- handle = MsgGetZcSenderHandleOfCtrlTbl(idx); // LCOV_EXCL_BR_LINE 200: sender handle set in _pb_GetZcSndBuf
- if (handle == NULL) { // LCOV_EXCL_BR_LINE 200: sender handle set in _pb_GetZcSndBuf
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "handle ERROR " \
- "[pno=%d, idx=%d]", pno, idx);
-
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- ret_api = RET_ERROR; // LCOV_EXCL_LINE 200: sender handle set in _pb_GetZcSndBuf
- }
- /* When handle acquisition is successful */
- if (handle != NULL) {
- /* Messaging */
- /* Set the transmission data in advance. */
- p_send_data = McZcGetBuf(handle);
- if (p_send_data != NULL) { // LCOV_EXCL_BR_LINE 4: nsfw error
- p_msg_header = reinterpret_cast<T_APIMSG_MSGBUF_HEADER*>(p_send_data);
- cid = p_msg_header->hdr.cid;
- estatus = McZcSetParam(handle, cid, size);
- if (estatus == eFrameworkunifiedStatusOK) { // LCOV_EXCL_BR_LINE 4: nsfw error
- estatus = McZcSend(handle); // LCOV_EXCL_BR_LINE 4: nsfw error
- /* When transmission fails */
- if (estatus != eFrameworkunifiedStatusOK) { // LCOV_EXCL_BR_LINE 4: nsfw error
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "McZcSend ERROR " \
- "[estatus:%d, idx:%d, handle:%p, cid:0x%x, size:%d]", estatus, \
- idx, handle, cid, size);
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- ret_api = RET_ERROR; // LCOV_EXCL_LINE 4: nsfw error
- } else {
- FRAMEWORKUNIFIEDLOG(ZONE_20, __FUNCTION__, "McZcSend SUCCESS " \
- "[estatus:%d, idx:%d, handle:%p, cid:0x%x, size:%d]", estatus, \
- idx, handle, cid, size);
- }
- } else {
- /* When parameter setting fails */
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "McZcSetParam ERROR " \
- "[estatus:%d, idx:%d, handle:%p, cid:0x%x, size:%d]", estatus, idx, handle, cid, size);
- ret_api = RET_ERROR;
- }
- } else {
- /* When parameter buffer acquisition fails */
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "McZcGetBuf ERROR " \
- "[idx:%d, handle:%p, size:%d]", idx, handle, size);
- ret_api = RET_ERROR;
- }
-
- /* Close all handles at the time of termination */
- }
- }
-
- MsgUnlockMutex();
- }
-
- return ret_api;
-}
-
-/**
- * @brief
- * Send the message
- *
- * For interprocess communication
- * Sends a message to the specified process.If the specified process is invalid, an error is returned.
- *
- * Note: Since the data sent by this function is to be received by the dispatcher, the message header
- * must not be included in the send data specified by the argument.
- *
- * @param[in] name Destination Process Name
- * @param[in] cid Command ID
- * @param[in] size Message size
- * @param[in] msgbuf Pointer to message storage area
- * @param[in] mode Not used
- *
- * @return RET_NORMAL Normal completion<br>
- * RET_ERRPARAM Parameter error<br>
- * RET_ERROR Other errors
- */
-RET_API _pb_SndMsg_Ext(PCSTR name, CID cid, u_int16 size, const void* msgbuf, // NOLINT(readability/nolint) interface
- u_int16 mode) {
- RET_API ret_api = RET_NORMAL; /* Results of this Module process */
- uint32_t thread_offset;
- u_int32 idx;
- HANDLE h_positioningbaselibrary_service = NULL;
- EFrameworkunifiedStatus estatus;
- size_t len;
- HANDLE h_app;
-
- /* Null Check */
- if ((name == NULL) || (msgbuf == NULL)) {
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "Argument ERROR " \
- "[name:%p, msgbuf:%p]", name, msgbuf);
- ret_api = RET_ERRPARAM;
- } else {
- h_app = _pb_GetAppHandle();
-
- len = _tcslen(name);
- if (len >= MAX_QUEUE_NAME_SIZE) {
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "Argument ERROR!! " \
- "Length of thread name is too long(>=%d). [len:%zu]", MAX_QUEUE_NAME_SIZE, len);
- ret_api = RET_ERRPARAM;
- } else {
- thread_offset = PbGetLocalTid();
-
- MsgLockMutex();
-
- idx = MsgSearchNameOfCtrlTbl(name);
-
- if (idx != MSG_MAX_NUM_CTRL_MSGQUE) {
- h_positioningbaselibrary_service = MsgGetPositioningbaselibrarySenderHandleOfCtrlTbl(idx, thread_offset);
- if (h_positioningbaselibrary_service == NULL) {
- h_positioningbaselibrary_service = FrameworkunifiedMcOpenSender(h_app, name); // LCOV_EXCL_BR_LINE 4: nsfw error
- /* When handle acquisition fails */
- if (h_positioningbaselibrary_service == NULL) { // LCOV_EXCL_BR_LINE 4: nsfw error
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "FrameworkunifiedMcOpenSender ERROR!! " \
- "[h_positioningbaselibrary_service=%p, h_app=%p, name=%s]", h_positioningbaselibrary_service, h_app, name);
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- ret_api = RET_ERROR; // LCOV_EXCL_LINE 4: nsfw error
- } else {
- /* Message control table update */
- MsgSetPositioningbaselibrarySenderHandleOfCtrlTbl(idx, h_positioningbaselibrary_service, thread_offset); /* Send handle */
-
- FRAMEWORKUNIFIEDLOG(ZONE_20, __FUNCTION__, "### MESSAGE TABLE INFORMATION # " \
- "(+) idx=%d, pno=%d, h_positioningbaselibrary_sender[%d]=%p, h_sender=%p, h_receiver=%p, name=%s", \
- idx, MsgGetPnoOfCtrlTbl(idx), PbGetLocalTid(), \
- MsgGetPositioningbaselibrarySenderHandleOfCtrlTbl(idx, PbGetLocalTid()), MsgGetSenderHandleOfCtrlTbl(idx), \
- MsgGetReceiverHandleOfCtrlTbl(idx), MsgGetNameOfCtrlTbl(idx));
- }
- }
- } else {
- /* Search for free space */
- idx = MsgSearchEmptyOfCtrlTbl();
- if (idx == MSG_MAX_NUM_CTRL_MSGQUE) { // LCOV_EXCL_BR_LINE 200: idx can not be MSG_MAX_NUM_CTRL_MSGQUE
- /* Be impossible by design */
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "MsgSearchEmptyOfCtrlTbl ERROR!! " \
- "[idx:%d]", idx);
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- _pb_Exit(); // LCOV_EXCL_LINE 200: idx can not be MSG_MAX_NUM_CTRL_MSGQUE
-
- /* don't arrive here. */
- } else {
- /* Get send handle */
- h_positioningbaselibrary_service = FrameworkunifiedMcOpenSender(h_app, name); // LCOV_EXCL_BR_LINE 4: nsfw error
- /* When handle acquisition fails */
- if (h_positioningbaselibrary_service == NULL) { // LCOV_EXCL_BR_LINE 4: nsfw error
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "FrameworkunifiedMcOpenSender ERROR!! " \
- "[h_positioningbaselibrary_service=%p, h_app=%p, name=%s]", h_positioningbaselibrary_service, h_app, name);
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- ret_api = RET_ERROR; // LCOV_EXCL_LINE 4: nsfw error
- } else {
- /* Message control table update */
- MsgSetPositioningbaselibrarySenderHandleOfCtrlTbl(idx, h_positioningbaselibrary_service, thread_offset); /* Send handle */
-
- MsgSetNameOfCtrlTbl(idx, name); /* Name */
-
- /* Increment Message Control Table Usage Counter */
- MsgIncUseCntOfCtrlTbl();
-
- FRAMEWORKUNIFIEDLOG(ZONE_20, __FUNCTION__, \
- "### MESSAGE TABLE INFORMATION # (++) idx=%d, pno=%d, h_positioningbaselibrary_sender[%d]=%p, " \
- "h_sender=%p, h_receiver=%p, name=%s", idx, MsgGetPnoOfCtrlTbl(idx), \
- PbGetLocalTid(), MsgGetPositioningbaselibrarySenderHandleOfCtrlTbl(idx, PbGetLocalTid()), \
- MsgGetSenderHandleOfCtrlTbl(idx), MsgGetReceiverHandleOfCtrlTbl(idx), \
- MsgGetNameOfCtrlTbl(idx));
- }
- }
- }
-
- MsgUnlockMutex();
- /* When handle acquisition is successful */
- if (h_positioningbaselibrary_service != NULL) {
- /* Messaging */
- estatus = FrameworkunifiedSendMsg(h_positioningbaselibrary_service, cid, size, msgbuf); // LCOV_EXCL_BR_LINE 4: nsfw error
- /* When transmission fails */
- if (estatus != eFrameworkunifiedStatusOK) { // LCOV_EXCL_BR_LINE 4: nsfw error
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "FrameworkunifiedSendMsg ERROR!! " \
- "[name=%s, estatus=%d, h_positioningbaselibrary_service=%p, cid=%d, size=%d]", \
- name, estatus, h_positioningbaselibrary_service, cid, size);
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- ret_api = RET_ERROR; // LCOV_EXCL_LINE 4: nsfw error
- } else {
- FRAMEWORKUNIFIEDLOG(ZONE_17, __FUNCTION__, "Send message = " \
- "[Destination:%s][CID:0x%X]", name, cid);
- }
- /* Close all handles at the time of termination */
- }
- }
- }
-
- return ret_api;
-}
-
-/*---------------------------------------------------------------------------------*
- * Local Function *
- *---------------------------------------------------------------------------------*/
-/**
- * @brief
- * PNO setting(Message control table)
- *
- * If an invalid value is specified for an argument, the system assumes that it is a design problem and calls _pb_Exit().
- *
- * @param[in] idx Control Table Element Number
- * @param[in] pno Process number
- */
-static void MsgSetPnoOfCtrlTbl(u_int32 idx, PNO pno) {
- /* check index */
- if (idx >= MSG_MAX_NUM_CTRL_MSGQUE) { // LCOV_EXCL_BR_LINE 6: idx cannot greater
- /* forbidden */
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "Argument ERROR [idx:%d, pno:%d]", idx, pno);
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- _pb_Exit(); // LCOV_EXCL_LINE 6: idx cannot greater
-
- /* don't arrive here. */
- } else {
- g_msg_ctrl_tbl.info[idx].pno = pno;
- }
-
- return;
-}
-
-/**
- * @brief
- * PNO acquisition(Message control table)
- *
- * If an invalid value is specified for an argument, the system assumes that it is a design problem and calls _pb_Exit().
- *
- * @param[in] idx Control Table Element Number
- * @param[in] pno Process number
- */
-static PNO MsgGetPnoOfCtrlTbl(u_int32 idx) {
- /* check index */
- if (idx >= MSG_MAX_NUM_CTRL_MSGQUE) { // LCOV_EXCL_BR_LINE 6: idx cannot greater
- /* forbidden */
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "Argument ERROR [idx:%d]", idx);
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- _pb_Exit(); // LCOV_EXCL_LINE 6: idx cannot greater
-
- /* don't arrive here. */
- }
-
- return g_msg_ctrl_tbl.info[idx].pno;
-}
-
-/**
- * @brief
- * Message queue name setting(Message control table)
- *
- * If an invalid value is specified for an argument, the system assumes that it is a design problem and calls _pb_Exit().
- *
- * @param[in] idx Control Table Element Number
- * @param[in] name Message queue name
- */
-static void MsgSetNameOfCtrlTbl(u_int32 idx, LPCTSTR name) {
- /* check index */
- if (idx >= MSG_MAX_NUM_CTRL_MSGQUE) { // LCOV_EXCL_BR_LINE 6: idx cannot greater
- /* forbidden */
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "Argument ERROR [idx:%d, name:%s]", idx, name);
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- _pb_Exit(); // LCOV_EXCL_LINE 6: idx cannot greater
-
- /* don't arrive here. */
- }
-
- _tcscpy(g_msg_ctrl_tbl.info[idx].name, name);
-
- return;
-}
-
-/**
- * @brief
- * Get Message Queue Name(Message control table)
- *
- * If an invalid value is specified for an argument, the system assumes that it is a design problem and calls _pb_Exit().
- *
- * @param[in] idx Control Table Element Number
- *
- * @return Message queue name
- */
-static char* MsgGetNameOfCtrlTbl(u_int32 idx) {
- /* check index */
- if (idx >= MSG_MAX_NUM_CTRL_MSGQUE) { // LCOV_EXCL_BR_LINE 6: idx cannot greater
- /* forbidden */
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "Argument ERROR [idx:%d]", idx);
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- _pb_Exit(); // LCOV_EXCL_LINE 6: idx cannot greater
-
- /* don't arrive here. */
- }
-
- return g_msg_ctrl_tbl.info[idx].name;
-}
-
-/**
- * @brief
- * Message reception handle setting(Message control table)
- *
- * If an invalid value is specified for an argument, the system assumes that it is a design problem and calls _pb_Exit().
- *
- * @param[in] idx Control Table Element Number
- * @param[in] handle Message queue handle
- */
-static void MsgSetReceiverHandleOfCtrlTbl(u_int32 idx, HANDLE handle) {
- /* check index */
- if (idx >= MSG_MAX_NUM_CTRL_MSGQUE) { // LCOV_EXCL_BR_LINE 6: idx cannot greater
- /* forbidden */
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "Argument ERROR " \
- "[idx:%d, handle:%p]", idx, handle);
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- _pb_Exit(); // LCOV_EXCL_LINE 6: idx cannot greater
-
- /* don't arrive here. */
- } else {
- g_msg_ctrl_tbl.info[idx].h_receiver = handle;
- }
-
- return;
-}
-
-/**
- * @brief
- * Get message reception handle(Message control table)
- *
- * If an invalid value is specified for an argument, the system assumes that it is a design problem and calls _pb_Exit().
- *
- * @param[in] idx Control Table Element Number
- *
- * @return Message queue handle
- */
-static HANDLE MsgGetReceiverHandleOfCtrlTbl(u_int32 idx) {
- /* check index */
- if (idx >= MSG_MAX_NUM_CTRL_MSGQUE) { // LCOV_EXCL_BR_LINE 6: idx cannot greater
- /* forbidden */
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "Argument ERROR [idx:%d]", idx);
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- _pb_Exit(); // LCOV_EXCL_LINE 6: idx cannot greater
-
- /* don't arrive here. */
- }
-
- return g_msg_ctrl_tbl.info[idx].h_receiver;
-}
-
-/**
- * @brief
- * Message send handle setting(Message control table)
- *
- * If an invalid value is specified for an argument, the system assumes that it is a design problem and calls _pb_Exit().
- *
- * @param[in] idx Control Table Element Number
- * @param[in] handle Message queue handle
- */
-static void MsgSetSenderHandleOfCtrlTbl(u_int32 idx, HANDLE handle) {
- /* check index */
- if (idx >= MSG_MAX_NUM_CTRL_MSGQUE) { // LCOV_EXCL_BR_LINE 6: idx cannot greater
- /* forbidden */
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "Argument ERROR " \
- "[idx:%d, handle:%p]", idx, handle);
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- _pb_Exit(); // LCOV_EXCL_LINE 6: idx cannot greater
-
- /* don't arrive here. */
- } else {
- g_msg_ctrl_tbl.info[idx].h_sender = handle;
- }
-
- return;
-}
-
-/**
- * @brief
- * Get message send handle(Message control table)
- *
- * If an invalid value is specified for an argument, the system assumes that it is a design problem and calls _pb_Exit().
- *
- * @param[in] idx Control Table Element Number
- *
- * @return Message queue handle
- */
-static HANDLE MsgGetSenderHandleOfCtrlTbl(u_int32 idx) {
- /* check index */
- if (idx >= MSG_MAX_NUM_CTRL_MSGQUE) { // LCOV_EXCL_BR_LINE 6: idx cannot greater
- /* forbidden */
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "Argument ERROR [idx:%d]", idx);
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- _pb_Exit(); // LCOV_EXCL_LINE 6: idx cannot greater
-
- /* don't arrive here. */
- }
-
- return g_msg_ctrl_tbl.info[idx].h_sender;
-}
-
-
-/**
- * @brief
- * Positioningbaselibrary message send handle setting(Message control table)
- *
- * If an invalid value is specified for an argument, the system assumes that it is a design problem and calls _pb_Exit().
- *
- * @param[in] idx Control Table Element Number
- * @param[in] handle Message queue handle
- * @param[in] offset Local thread ID
- */
-static void MsgSetPositioningbaselibrarySenderHandleOfCtrlTbl(u_int32 idx, HANDLE handle, uint32_t offset) {
- /* check index */
- if (idx >= MSG_MAX_NUM_CTRL_MSGQUE) { // LCOV_EXCL_BR_LINE 6: idx cannot greater
- /* forbidden */
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "Argument ERROR " \
- "[idx:%d, handle:%p]", idx, handle);
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- _pb_Exit(); // LCOV_EXCL_LINE 6: idx cannot greater
-
- /* don't arrive here. */
- } else {
- g_msg_ctrl_tbl.info[idx].h_positioningbaselibrary_sender[offset] = handle;
- }
-
- return;
-}
-
-/**
- * @brief
- * Positioningbaselibrary message send handle acquisition(Message control table)
- *
- * If an invalid value is specified for an argument, the system assumes that it is a design problem and calls _pb_Exit().
- *
- * @param[in] idx Control Table Element Number
- * @param[in] offset Local thread ID
- *
- * @return Message queue handle
- */
-static HANDLE MsgGetPositioningbaselibrarySenderHandleOfCtrlTbl(u_int32 idx, uint32_t offset) {
- /* check index */
- if (idx >= MSG_MAX_NUM_CTRL_MSGQUE) { // LCOV_EXCL_BR_LINE 6: idx cannot greater
- /* forbidden */
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "Argument ERROR [idx:%d]", idx);
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- _pb_Exit(); // LCOV_EXCL_LINE 6: idx cannot greater
-
- /* don't arrive here. */
- }
-
- return g_msg_ctrl_tbl.info[idx].h_positioningbaselibrary_sender[offset];
-}
-
-/**
- * @brief
- * Message send handle setting(Message control table)
- *
- * If an invalid value is specified for an argument, the system assumes that it is a design problem and calls _pb_Exit().
- *
- * @param[in] idx Control Table Element Number
- * @param[in] handle Message queue handle
- */
-static void MsgSetZcSenderHandleOfCtrlTbl(u_int32 idx, HANDLE handle) {
- /* check index */
- if (idx >= MSG_MAX_NUM_CTRL_MSGQUE) { // LCOV_EXCL_BR_LINE 6: idx cannot greater
- /* forbidden */
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "Argument ERROR " \
- "[idx:%d, handle:%p]", idx, handle);
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- _pb_Exit(); // LCOV_EXCL_LINE 6: idx cannot greater
-
- /* don't arrive here. */
- } else {
- g_msg_ctrl_tbl.info[idx].h_zc_sender = handle;
- }
-
- return;
-}
-
-/**
- * @brief
- * Get message send handle(Message control table)
- *
- * If an invalid value is specified for an argument, the system assumes that it is a design problem and calls _pb_Exit().
- *
- * @param[in] idx Control Table Element Number
- *
- * @return Message queue handle
- */
-static HANDLE MsgGetZcSenderHandleOfCtrlTbl(u_int32 idx) {
- /* check index */
- if (idx >= MSG_MAX_NUM_CTRL_MSGQUE) { // LCOV_EXCL_BR_LINE 6: idx cannot greater
- /* forbidden */
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "Argument ERROR [idx:%d]", idx);
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- _pb_Exit(); // LCOV_EXCL_LINE 6: idx cannot greater
-
- /* don't arrive here. */
- }
-
- return g_msg_ctrl_tbl.info[idx].h_zc_sender;
-}
-
-/**
- * @brief
- * Get message receive buffer(Message control table)
- *
- * @param[in] idx Control Table Element Number
- *
- * @return Pointer to message receive buffer
- */
-static uint8_t* MsgGetMsgRcvBufOfCtrlTbl(uint32_t idx) {
- /* check index */
- if (idx >= MSG_MAX_NUM_CTRL_MSGQUE) { // LCOV_EXCL_BR_LINE 6: idx cannot greater
- /* forbidden */
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "Argument ERROR [idx:%d]", idx);
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- _pb_Exit(); // LCOV_EXCL_LINE 6: idx cannot greater
-
- /* don't arrive here. */
- }
-
- return g_msg_ctrl_tbl.info[idx].msg_rcv_buf;
-}
-
-/**
- * @brief
- * Search unused area(Message control table)
- *
- * Returns the index (minimum value) for accessing the unused area in the message control table.<br>
- * Returns the maximum message queue management value (MSG_MAX_NUM_CTRL_MSGQUE) <br>
- * when no unused area exists
- *
- * @return Index for access(Unused area exists.)<br>
- * Maximum mutex management value(No unused area)
- */
-static u_int32 MsgSearchEmptyOfCtrlTbl(void) {
- int32 ret;
- u_int32 idx;
-
- for (idx = 0; idx < MSG_MAX_NUM_CTRL_MSGQUE; idx++) {
- ret = _tcscmp(g_msg_ctrl_tbl.info[idx].name, "");
-
- /* For unused space */
- if (ret == 0) {
- break;
- }
- }
-
- return idx;
-}
-
-/**
- * @brief
- * PNO search(Message control table)
- *
- * Retrieves whether the specified PNO is already registered in the message control table.<br>
- * If it is registered, the access index is returned.If it is not stored,<br>
- * Returns the maximum message queue management value (MSG_MAX_NUM_CTRL_MSGQUE).
- *
- * @param[in] pno Process number
- *
- * @return Index for access(If it is registered)<br>
- * Maximum value of message queue management(Not stored)
- */
-static u_int32 MsgSearchPnoOfCtrlTbl(PNO pno) {
- u_int32 idx;
- PNO lPno;
-
- for (idx = 0; idx < MSG_MAX_NUM_CTRL_MSGQUE; idx++) {
- lPno = MsgGetPnoOfCtrlTbl(idx);
-
- /* If there is a match */
- if (lPno == pno) {
- break;
- }
- }
-
- return idx;
-}
-
-
-/**
- * @brief
- * Queue name search(Message control table)
- *
- * Retrieves whether the specified queue name is already registered in the message control table.<br>
- * If it is registered, the access index is returned.If it is not stored,<br>
- * Returns the maximum message queue management value (MSG_MAX_NUM_CTRL_MSGQUE).
- *
- * @param[in] Name queue-name
- *
- * @return Index for access(If it is registered)<br>
- * Maximum value of message queue management(Not stored)
- */
-static u_int32 MsgSearchNameOfCtrlTbl(LPCTSTR name) {
- int32 ret;
- u_int32 idx;
-
- for (idx = 0; idx < MSG_MAX_NUM_CTRL_MSGQUE; idx++) {
- ret = _tcscmp(g_msg_ctrl_tbl.info[idx].name, name);
-
- /* If there is a match */
- if (ret == 0) {
- break;
- }
- }
-
- return idx;
-}
-
-
-/**
- * @brief
- * Creation of Mutex for accessing the message control table
- */
-static void MsgCreateMutex(void) {
- g_h_mtx = _pb_CreateMutex(NULL, 0, "Msg_Mutex");
- if (g_h_mtx == NULL) { // LCOV_EXCL_BR_LINE 200: can not be not NULL
- // LCOV_EXCL_START 200: can not be not NULL
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "_pb_CreateMutex ERROR [g_h_mtx:%p]", g_h_mtx);
- _pb_Exit();
- // LCOV_EXCL_STOP
-
- /* don't arrive here. */
- }
-
- return;
-}
-
-/**
- * @brief
- * Acquire Mutex for accessing the message control table
- */
-static void MsgLockMutex(void) {
- DWORD ret;
- ret = PbMutexLock(g_h_mtx, INFINITE); // LCOV_EXCL_BR_LINE 200: mutex lock can not failed
- if (ret != WAIT_OBJECT_0) { // LCOV_EXCL_BR_LINE 200: mutex lock can not failed
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "PbMutexLock ERROR " \
- "[ret:%lu, g_h_mtx:%p]", ret, g_h_mtx);
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- _pb_Exit(); // LCOV_EXCL_LINE 200: mutex lock can not failed
-
- /* don't arrive here. */
- }
-
- return;
-}
-
-/**
- * @brief
- * Releasing the Mutex for accessing the message control table
- */
-static void MsgUnlockMutex(void) {
- BOOL ret;
- ret = PbMutexUnlock(g_h_mtx); // LCOV_EXCL_BR_LINE 200: mutex lock can not failed
- if (ret != TRUE) { // LCOV_EXCL_BR_LINE 200: mutex lock can not failed
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "PbMutexUnlock ERROR " \
- "[ret:%d, g_h_mtx:%p]", ret, g_h_mtx);
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- _pb_Exit(); // LCOV_EXCL_LINE 200: mutex lock can not failed
-
- /* don't arrive here. */
- }
-
- return;
-}
-
-/**
- * @brief
- * Obtain dump information
- *
- * @param[out] pBuf Dump info
- * @param[in/out] pLen Buffer size
- */
-void _pb_GetDebugMsgMngTbl(void* pBuf, uint8_t* pLen) {
- static uint8_t buf[DEBUG_DUMP_MAX_SIZE];
- static uint8_t bufPositioningbaselibrarySender[DEBUG_DUMP_MAX_SIZE];
- static uint8_t bufTmp[DEBUG_DUMP_MAX_SIZE];
- static uint8_t bufMsg[DEBUG_DUMP_MAX_SIZE];
- uint32_t i;
- uint32_t e;
- uint8_t cnt = 0;
-
- if ((pBuf != NULL) && (pLen != NULL)) {
- memset(&buf[0], 0x00, sizeof(buf));
- memset(&bufMsg[0], 0x00, sizeof(bufMsg));
- for (i = 0; i < MSG_MAX_NUM_CTRL_MSGQUE; i++) {
- memset(&bufPositioningbaselibrarySender[0], 0x00, sizeof(bufPositioningbaselibrarySender));
- for (e = 0; e < MSG_MAX_NUM_CTRL_THREAD; e++) {
- memset(&bufTmp[0], 0x00, sizeof(bufTmp));
- snprintf(reinterpret_cast<char *>(&bufTmp[0]), sizeof(bufTmp),
- "[%02d]%10p ", e, g_msg_ctrl_tbl.info[i].h_positioningbaselibrary_sender[e]);
- strncat(reinterpret_cast<char *>(&bufPositioningbaselibrarySender[0]), reinterpret_cast<char *>(&bufTmp[0]), \
- strlen(reinterpret_cast<char *>(&bufTmp[0])));
- }
- memset(&bufTmp[0], 0x00, sizeof(bufTmp));
- snprintf(reinterpret_cast<char *>(&bufTmp[0]), sizeof(bufTmp),
- "\n [%02d] pno:0x%04x, name:%16s, hSnd:%10p, hRcv:%10p, hPSnd:%s",
- i,
- g_msg_ctrl_tbl.info[i].pno,
- g_msg_ctrl_tbl.info[i].name,
- g_msg_ctrl_tbl.info[i].h_sender,
- g_msg_ctrl_tbl.info[i].h_receiver,
- &bufPositioningbaselibrarySender[0]);
- strncat(reinterpret_cast<char *>(&bufMsg[0]), reinterpret_cast<char *>(&bufTmp[0]), \
- strlen(reinterpret_cast<char *>(&bufTmp[0])));
- if (((i+1) % 8) == 0) {
- cnt++;
- memset(&buf[0], 0x00, sizeof(buf));
- snprintf(reinterpret_cast<char *>(&buf[0]), sizeof(buf),
- "Message-%d%s",
- cnt,
- &bufMsg[0]);
- memcpy(pBuf, &buf[0], sizeof(buf));
- pBuf = reinterpret_cast<void *>((reinterpret_cast<uint8_t *>(pBuf)) + sizeof(buf));
- memset(&bufMsg[0], 0x00, sizeof(bufMsg));
- if (cnt >= *pLen) {
- break;
- }
- }
- }
- if (cnt < *pLen) {
- if (bufMsg[0] != 0x00) {
- cnt++;
- memset(&buf[0], 0x00, sizeof(buf));
- snprintf(reinterpret_cast<char *>(&buf[0]), sizeof(buf),
- "Message-%d%s",
- cnt,
- &bufMsg[0]);
- memcpy(pBuf, &buf[0], sizeof(buf));
- }
- *pLen = cnt;
- }
- }
-}
-
-/**
- * @brief
- * Message Control Table Usage Counter Increment
- *
- * @param[in] none
- */
-static void MsgIncUseCntOfCtrlTbl(void) {
- g_msg_ctrl_tbl.use_cnt++;
- return;
-}
-
-/**
- * @brief
- * Message control table usage counter decrement
- *
- * @param[in] none
- */
-static void MsgDecUseCntOfCtrlTbl(void) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- g_msg_ctrl_tbl.use_cnt--;
- return;
-}
-// LCOV_EXCL_STOP
-
-/**
- * @brief
- * Message Control Table Reserved Counter Increment
- *
- * @param[in] none
- */
-static void MsgIncRsvCntOfCtrlTbl(void) {
- g_msg_ctrl_tbl.rsv_cnt++;
- return;
-}
-
-/**
- * @brief
- * Message Control Table Reserved Counter Decrement
- *
- * @param[in] none
- */
-static void MsgDecRsvCntOfCtrlTbl(void) {
- g_msg_ctrl_tbl.rsv_cnt--;
- return;
-}
-
-/**
- * @brief
- * Resource Acquisition Decision(Message control table)
- *
- * @param[in] none
- *
- * @return BOOL
- * @retval TRUE : Normal
- * @retval FALSE : Anomaly (Resource shortage)
- */
-BOOL _pb_GetMsgResource(void) {
- BOOL ret = TRUE;
- uint32_t cnt;
-
- MsgLockMutex();
-
- /* Increment Message Control Table Reservation Counter */
- MsgIncRsvCntOfCtrlTbl();
-
- cnt = g_msg_ctrl_tbl.use_cnt + g_msg_ctrl_tbl.rsv_cnt;
- if (cnt >= FULL_MSG_NUM_CTRL_MSGQUE) {
- ret = FALSE;
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "Lack of resources " \
- "[FATAL][use_cnt:%d rsv_cnt:%d]", g_msg_ctrl_tbl.use_cnt, g_msg_ctrl_tbl.rsv_cnt);
- } else if (cnt >= WARN_MSG_NUM_CTRL_MSGQUE) {
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "Lack of resources " \
- "[WARN][use_cnt:%d rsv_cnt:%d]", g_msg_ctrl_tbl.use_cnt, g_msg_ctrl_tbl.rsv_cnt);
- }
-
- MsgUnlockMutex();
-
- return ret;
-}
-
-/**
- * @brief
- * Resource release(Message control table)
- *
- * @param[in] none
- *
- * @return none
- */
-void _pb_ReleaseMsgResource(void) {
- MsgLockMutex();
-
- /* Decrement Message Control Table Reservation Counter */
- MsgDecRsvCntOfCtrlTbl();
-
- MsgUnlockMutex();
-
- return;
-}
diff --git a/video_in_hal/vehicleservice/positioning_base_library/library/src/_pbMutex.cpp b/video_in_hal/vehicleservice/positioning_base_library/library/src/_pbMutex.cpp
deleted file mode 100755
index 06254ab..0000000
--- a/video_in_hal/vehicleservice/positioning_base_library/library/src/_pbMutex.cpp
+++ /dev/null
@@ -1,1423 +0,0 @@
-/*
- * @copyright Copyright (c) 2016-2020 TOYOTA MOTOR CORPORATION.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * @file
- * _pbMutex.cpp
- */
-
-/*---------------------------------------------------------------------------------*
- * Include Files *
- *---------------------------------------------------------------------------------*/
-
-#ifndef PT_PB_MUTEX_STUB__CWORD71_
-
-#include <vehicle_service/positioning_base_library.h>
-#include "_pbInternalProc.h"
-#include <native_service/cl_lock.h>
-#include <native_service/cl_lockid.h>
-#include "WPF_STD_private.h"
-#include "tchar.h"
-
-/*---------------------------------------------------------------------------------*
- * Define *
- *---------------------------------------------------------------------------------*/
-/* Mutex control table name (Shared Memory) */
-#define MUTEX_CTRL_TBL_NAME __TEXT("POS_BASE_MUTEX_TABLE")
-
-/*
- Max. available Lock ID
- Note : Lock ID application is 1 (for BaseAPI initialization) + 1 (for Mutex function control) + 30 (for provision) = 32
-*/
-#define MAX_CTRL_MUTEX_NUM (30)
-
-#define FULL_CTRL_MUTEX_NUM (MAX_CTRL_MUTEX_NUM - 4) /** Mutex control data threshold (no free) */
-#define WARN_CTRL_MUTEX_NUM (MAX_CTRL_MUTEX_NUM - 10) /** Mutex control data threshold (warning) */
-
-/*
- ID needs to be aplicated
-
- If you increase or decrease the IDs, define maximum number of managed LOCK IDs and
- the default setting of "Lock ID Resource List" must also be changed.
-*/
-#define MUTEX_LOCK_ID_0 LOCK_POS_MTX_2 /* Mutex management-information-exclusive control */
-#define MUTEX_LOCK_ID_1 LOCK_POS_MTX_3
-#define MUTEX_LOCK_ID_2 LOCK_POS_MTX_4
-#define MUTEX_LOCK_ID_3 LOCK_POS_MTX_5
-#define MUTEX_LOCK_ID_4 LOCK_POS_MTX_6
-#define MUTEX_LOCK_ID_5 LOCK_POS_MTX_7
-#define MUTEX_LOCK_ID_6 LOCK_POS_MTX_8
-#define MUTEX_LOCK_ID_7 LOCK_POS_MTX_9
-#define MUTEX_LOCK_ID_8 LOCK_POS_MTX_10
-#define MUTEX_LOCK_ID_9 LOCK_POS_MTX_11
-#define MUTEX_LOCK_ID_10 LOCK_POS_MTX_12
-#define MUTEX_LOCK_ID_11 LOCK_POS_MTX_13
-#define MUTEX_LOCK_ID_12 LOCK_POS_MTX_14
-#define MUTEX_LOCK_ID_13 LOCK_POS_MTX_15
-#define MUTEX_LOCK_ID_14 LOCK_POS_MTX_16
-#define MUTEX_LOCK_ID_15 LOCK_POS_MTX_17
-#define MUTEX_LOCK_ID_16 LOCK_POS_MTX_18
-#define MUTEX_LOCK_ID_17 LOCK_POS_MTX_19
-#define MUTEX_LOCK_ID_18 LOCK_POS_MTX_20
-#define MUTEX_LOCK_ID_19 LOCK_POS_MTX_21
-#define MUTEX_LOCK_ID_20 LOCK_POS_MTX_22
-#define MUTEX_LOCK_ID_21 LOCK_POS_MTX_23
-#define MUTEX_LOCK_ID_22 LOCK_POS_MTX_24
-#define MUTEX_LOCK_ID_23 LOCK_POS_MTX_25
-#define MUTEX_LOCK_ID_24 LOCK_POS_MTX_26
-#define MUTEX_LOCK_ID_25 LOCK_POS_MTX_27
-#define MUTEX_LOCK_ID_26 LOCK_POS_MTX_28
-#define MUTEX_LOCK_ID_27 LOCK_POS_MTX_29
-#define MUTEX_LOCK_ID_28 LOCK_POS_MTX_30
-#define MUTEX_LOCK_ID_29 LOCK_POS_MTX_31
-#define MUTEX_LOCK_ID_30 LOCK_POS_MTX_32
-
-typedef int32 LOCK_ID;
-
-/*---------------------------------------------------------------------------------*
- * Structure *
- *---------------------------------------------------------------------------------*/
-/*!
- @brief Mutex control information(Interprocess common-details)
- */
-typedef struct {
- LOCK_ID lock_id; /**< Lock ID */
- TCHAR name[NAME_MAX]; /**< Mutex Name */
- int32 ref_cnt; /**< Reference Counter */
- uint32_t thread_id; /**< Thread IDs while Lock is being acquired (Initial value:0) Note: For debugging */
- BOOL is_rel_fail; /**< Release failure information (Failed:TRUE) Note: For debugging */
- BOOL is_forbid_access; /**< Deletion occurred during Lock acquisition (Deletion occurred:TRUE) Note: For debugging */
-} MUTEX_CTRL_SHARED_DETAIL;
-
-/*!
- @brief Mutex control information (Interprocess common)
- */
-typedef struct {
- MUTEX_CTRL_SHARED_DETAIL detail[MAX_CTRL_MUTEX_NUM]; /**< Common Infomation */
- uint32_t use_cnt; /**< Use Counter */
- uint32_t rsv_cnt; /**< Reserve Counter */
-} MUTEX_CTRL_SHARED_INFO;
-
-/*!
- @brief Mutex control information
-*/
-typedef struct {
- HANDLE handle[MAX_CTRL_MUTEX_NUM]; /**< Mutex Handle */
- int32 ref_cnt[MAX_CTRL_MUTEX_NUM]; /**< Reference Counter */
- MUTEX_CTRL_SHARED_INFO* info; /**< Common Infomation */
-} MUTEX_CTRL_INFO;
-
-/*---------------------------------------------------------------------------------*
- * Grobal Value *
- *---------------------------------------------------------------------------------*/
-/**
- Mutex control table pointer (Partial shared memory)
- Note: Access to this instance shall be made through the operation module.
- */
-static MUTEX_CTRL_INFO g_mutex_ctrl_tbl; // NOLINT(readability/nolint) global class instance
-
-static HANDLE g_h_mtx; /** Mutex control-information-locking Mutex handle */
-static HANDLE g_h_shm; /** Shared memory handle */ // Coverity CID: 18788 compliant
-
-
-/** Lock ID Resource List */
-static const LOCK_ID kLockIdList[MAX_CTRL_MUTEX_NUM] = {
- MUTEX_LOCK_ID_1,
- MUTEX_LOCK_ID_2,
- MUTEX_LOCK_ID_3,
- MUTEX_LOCK_ID_4,
- MUTEX_LOCK_ID_5,
- MUTEX_LOCK_ID_6,
- MUTEX_LOCK_ID_7,
- MUTEX_LOCK_ID_8,
- MUTEX_LOCK_ID_9,
- MUTEX_LOCK_ID_10,
- MUTEX_LOCK_ID_11,
- MUTEX_LOCK_ID_12,
- MUTEX_LOCK_ID_13,
- MUTEX_LOCK_ID_14,
- MUTEX_LOCK_ID_15,
- MUTEX_LOCK_ID_16,
- MUTEX_LOCK_ID_17,
- MUTEX_LOCK_ID_18,
- MUTEX_LOCK_ID_19,
- MUTEX_LOCK_ID_20,
- MUTEX_LOCK_ID_21,
- MUTEX_LOCK_ID_22,
- MUTEX_LOCK_ID_23,
- MUTEX_LOCK_ID_24,
- MUTEX_LOCK_ID_25,
- MUTEX_LOCK_ID_26,
- MUTEX_LOCK_ID_27,
- MUTEX_LOCK_ID_28,
- MUTEX_LOCK_ID_29,
- MUTEX_LOCK_ID_30,
-};
-
-/*
- Mutex property information (Information for each process)
- _pb_CreateMutex calls -> 1
- DeleteMutex calls -> 0
- Only "1" can be used in the process.
- */
-BOOL g_is_mutex_owner_tbl[MAX_CTRL_MUTEX_NUM];
-
-/*---------------------------------------------------------------------------------*
- * Local Function Prototype *
- *---------------------------------------------------------------------------------*/
-/* Mutex Control Table Manipulation Functions */
-static void MutexSetLockIdOfCtrlTbl(u_int32 idx, LOCK_ID l_id); /* Set Lock ID */
-static LOCK_ID MutexGetLockIdOfCtrlTbl(u_int32 idx); /* Get Lock ID */
-static void MutexSetMutexNameOfCtrlTbl(u_int32 idx, LPCTSTR name); /* Set Mutex name */
-static void MutexSetMutexHandleOfCtrlTbl(u_int32 idx, HANDLE handle); /* Set Mutex handle */
-static HANDLE MutexGetMutexHandleOfCtrlTbl(u_int32 idx); /* Get Mutex Handle */
-static void MutexSetTidOfCtrlTbl(uint32_t idx, uint32_t tid); /* Set thread ID while Lock is being acquired */
-static uint32_t MutexGetTidOfCtrlTbl(uint32_t idx); /* Get thread ID while Lock is being acquired */
-static void MutexSetIsRelFailOfCtrlTbl(uint32_t idx, BOOL flag); /* Set release failure information */
-static void MutexSetIsForbidAccessOfCtrlTbl(uint32_t idx, BOOL flag); /* Set deletion occurrence while Lock is being acquired */
-static u_int32 MutexGetIdxOfCtrlTbl(HANDLE h_mutex); /* Get index for access */
-static void MutexIncRefCntOfCtrlTbl(u_int32 idx); /* Increment Mutex reference counter */
-static void MutexDecRefCntOfCtrlTbl(u_int32 idx); /* Decrement Mutex reference counter */
-static int32 MutexGetRefCntOfCtrlTbl(u_int32 idx); /* Get Mutex reference counter */
-static int32 MutexGetRefCntLocalOfCtrlTbl(u_int32 idx); /* Get mutex reference counter (in-process) */
-static u_int32 MutexSearchNameOfCtrlTbl(LPCTSTR name); /* Search mutex name */
-static u_int32 MutexSearchEmptyOfCtrlTbl(void); /* Search unused area */
-static void MutexIncUseCntOfCtrlInfo(void); /* Increment Mutex using counter */
-static void MutexDecUseCntOfCtrlInfo(void); /* Decrement Mutex using counter */
-static void MutexIncRsvCntOfCtrlInfo(void); /* Increment Mutex reserved counter */
-static void MutexDecRsvCntOfCtrlInfo(void); /* Decrement Mutex reserved counter */
-
-/* Mutex ownership-information manipulation functions */
-static void MutexSetFlagOfOwnerTbl(u_int32 idx, BOOL flag); /* Set ownership-information */
-static BOOL MutexGetFlagOfOwnerTbl(u_int32 idx); /* Get ownership-information */
-
-/* Mutex manipulation functions for accessing Mutex control tables */
-static void MutexCreateMutex(void); /* Create Mutex */
-static void MutexLockMutex(void); /* Get Mutex */
-static void MutexUnlockMutex(void); /* Release Mutex */
-static void MutexDeleteMutex(void); /* Delete Mutex */
-
-/*---------------------------------------------------------------------------------*
- * Function *
- *---------------------------------------------------------------------------------*/
-/**
- * @brief
- * Initialize the mutex function
- *
- * Call the in-process initialization API for locking between processes that provide CLS.<br>
- * Create shared memory for a Mutex control table.<br>
- * Create a mutex for accessing Mutex control info.<br>
- * If an error occurs during internal processing of this API, subsequent normal operations cannot be performed, so call _pb_Exit().
- *
- * @return RET_NORMAL
- */
-RET_API MutexInit(void) {
- RET_API ret_api = RET_NORMAL;
- MUTEX_CTRL_SHARED_INFO **pp_tbl;
- u_int32 idx;
-
- memset(g_mutex_ctrl_tbl.handle, 0, sizeof(g_mutex_ctrl_tbl.handle));
- memset(g_mutex_ctrl_tbl.ref_cnt, 0, sizeof(g_mutex_ctrl_tbl.ref_cnt));
-
- /* Set pointer to Mutex control table */
- pp_tbl = &(g_mutex_ctrl_tbl.info);
-
- MutexCreateMutex(); /* Create Mutex for accessing Mutex control info */
-
- MutexLockMutex(); /* Get Mutex for accessing Mutex control info */
-
- /* Open the Mutex control table shared memory */
- g_h_shm = OpenSharedMemory((TCHAR*)(MUTEX_CTRL_TBL_NAME), // NOLINT(readability/casting)
- sizeof(MUTEX_CTRL_SHARED_INFO));
-
- /* If called for the first time within all processes, an error occurs and the following processing is performed. */
- if (g_h_shm == NULL) { // LCOV_EXCL_BR_LINE 200: can not be other val
- /* Create shared memory for Mutex control table */
- // LCOV_EXCL_BR_LINE 200: can not return NULL
- g_h_shm = CreateSharedMemory((TCHAR*)MUTEX_CTRL_TBL_NAME, // NOLINT(readability/casting)
- sizeof(MUTEX_CTRL_SHARED_INFO));
- if (g_h_shm == NULL) /* In case of an error */ { // LCOV_EXCL_BR_LINE 200: can not return NULL
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "_pb_CreateShareData ERROR [hShm:%p]", g_h_shm);
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- _pb_Exit(); // LCOV_EXCL_LINE 200: cannot return NULL
- /* don't arrive here. */
- }
- }
-
- MutexUnlockMutex(); /* Release of Mutex for accessing Mutex control info */
-
- /* Set addresses of the acquired shared memory as a pointer of the Mutex control table. */
- *pp_tbl = reinterpret_cast<MUTEX_CTRL_SHARED_INFO*>(GetSharedMemoryPtr(g_h_shm));
-
- /* Initialize various information of control table */
- for (idx = 0; idx < MAX_CTRL_MUTEX_NUM; idx++) {
- /* Set Lock ID in Mutex control table(Overwrite from the second process onwards) */
- MutexSetLockIdOfCtrlTbl(idx, kLockIdList[idx]);
-
- MutexSetFlagOfOwnerTbl(idx, FALSE);
- }
-
- return ret_api;
-}
-
-/**
- * @brief
- * Terminate
- */
-RET_API MutexTerm(void) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- RET_API ret_api = RET_NORMAL;
-
- CloseSharedMemory(g_h_shm);
-
- MutexDeleteMutex();
-
- return ret_api;
-}
-// LCOV_EXCL_STOP
-
-/**
- * @brief
- * Create Mutex
- *
- * Create a named mutex that can be locked between processes.
- *
- * @param[in] lp_mutex_attributes Security descriptor(Unused)
- * @param[in] b_initial_owner Initial owner flag(Unused)
- * @param[in] lp_name Mutex name
- *
- * @return Except NULL Handle of the created mutex (Management information pointer)<br>
- * NULL ABEND
- */
-HANDLE _pb_CreateMutex(LPSECURITY_ATTRIBUTES lp_mutex_attributes, // NOLINT(readability/nolint) WPF_SYSAPI.h API
- BOOL b_initial_owner, LPCTSTR lp_name) {
- int32 idx; /* For accessing Mutex control table */
- HANDLE h_mutex = NULL; /* Mutex handle */
- void *p_addr;
- int32 errno;
- LOCK_ID lock_id;
- size_t len;
-
- /* Null check */
- if (lp_name == NULL) {
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "Argument ERROR!!");
- } else {
- len = _tcslen(lp_name);
- if (len >= NAME_MAX) {
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "Argument ERROR!! " \
- "Length of mutex name is too long(>=%d). [len:%zu]", NAME_MAX, len);
- } else {
- MutexLockMutex(); /* Get Mutex for accessing Mutex control info */
-
- /* Retrieve whether the specified mutex name exists in the Mutex control table */
- idx = MutexSearchNameOfCtrlTbl(lp_name);
-
- /* Already assigned */
- if (idx != MAX_CTRL_MUTEX_NUM) {
- /* Get mutex handle from Mutex control table */
- h_mutex = MutexGetMutexHandleOfCtrlTbl(idx);
-
- /* First-time creation within a process */
- if (h_mutex == NULL) {
- /* Get Lock ID */
- lock_id = MutexGetLockIdOfCtrlTbl(idx);
-
- /* Lock information mapping (CLS) */
- p_addr = CL_LockMap(lock_id); // LCOV_EXCL_BR_LINE 4: nsfw error
- /* In case of an error */
- if (p_addr == MAP_FAILED) { // LCOV_EXCL_BR_LINE 4: nsfw error
- /* Output an error log and return an error value */
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, \
- "CL_LockMap ERROR!! [p_addr:%p, errno:%d]", p_addr, errno);
- } else {
- /* Successful allocation */
- /* Set Mutex handle in the mutex management table */
- MutexSetMutexHandleOfCtrlTbl(idx, (HANDLE)p_addr);
-
- h_mutex = (HANDLE)p_addr;
- }
- }
-
- if (h_mutex != NULL) { // LCOV_EXCL_BR_LINE 200: h_mutex can not be NULL
- /* Increment Mutex reference counter */
- MutexIncRefCntOfCtrlTbl(idx);
-
- FRAMEWORKUNIFIEDLOG(ZONE_20, __FUNCTION__,
- "### MUTEX TABLE INFORMATION # (+) idx:%d HANDLE:%p, " \
- "ref_cnt:%d, LOCK_ID:%d, NAME:%s, ref_cnt:%d, tid:%d, fail:%d, forbid:%d",
- idx,
- g_mutex_ctrl_tbl.handle[idx],
- g_mutex_ctrl_tbl.ref_cnt[idx],
- g_mutex_ctrl_tbl.info->detail[idx].lock_id,
- g_mutex_ctrl_tbl.info->detail[idx].name,
- g_mutex_ctrl_tbl.info->detail[idx].ref_cnt,
- g_mutex_ctrl_tbl.info->detail[idx].thread_id,
- g_mutex_ctrl_tbl.info->detail[idx].is_rel_fail,
- g_mutex_ctrl_tbl.info->detail[idx].is_forbid_access);
- }
- } else {
- /* For a new assignment */
- /* Get the free space in the mutex management table. */
- idx = MutexSearchEmptyOfCtrlTbl();
-
- /* Get Lock ID */
- lock_id = MutexGetLockIdOfCtrlTbl(idx);
-
- /* Lock information mapping (CLS) */
- p_addr = CL_LockMap(lock_id);
-
- /* In case of an error */
- if (p_addr == MAP_FAILED) { // LCOV_EXCL_BR_LINE 4: nsfw error
- /* Output an error log and return an error value. */
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "CL_LockMap ERROR!! " \
- "[p_addr:%p, errno:%d] In _pb_CreateMutex", p_addr, errno);
- } else {
- /* Successful allocation */
- /* Set Mutex Hanlde in the mutex management table */
- MutexSetMutexHandleOfCtrlTbl(idx, (HANDLE)p_addr);
-
- /* Set the mutex name in the mutex management table */
- MutexSetMutexNameOfCtrlTbl(idx, lp_name);
-
- /* Increment Mutex reference counter */
- MutexIncRefCntOfCtrlTbl(idx);
-
- /* Increment mutex using counter */
- MutexIncUseCntOfCtrlInfo();
-
- h_mutex = (HANDLE)p_addr;
-
- FRAMEWORKUNIFIEDLOG(ZONE_20, __FUNCTION__,
- "### MUTEX TABLE INFORMATION # (++) idx:%d HANDLE:%p, ref_cnt:%d, " \
- "LOCK_ID:%d, NAME:%s, ref_cnt:%d, tid:%d, fail:%d, forbid:%d",
- idx,
- g_mutex_ctrl_tbl.handle[idx],
- g_mutex_ctrl_tbl.ref_cnt[idx],
- g_mutex_ctrl_tbl.info->detail[idx].lock_id,
- g_mutex_ctrl_tbl.info->detail[idx].name,
- g_mutex_ctrl_tbl.info->detail[idx].ref_cnt,
- g_mutex_ctrl_tbl.info->detail[idx].thread_id,
- g_mutex_ctrl_tbl.info->detail[idx].is_rel_fail,
- g_mutex_ctrl_tbl.info->detail[idx].is_forbid_access);
- }
- }
-
- if (h_mutex != NULL) { // LCOV_EXCL_BR_LINE 200: can not be NULL
- /* Update Mutex ownership */
- MutexSetFlagOfOwnerTbl(idx, TRUE);
- }
-
- /* Release the Mutex for accessing Mutex control info */
- MutexUnlockMutex();
- }
- }
-
- return h_mutex;
-}
-
-/**
- * @brief
- * Delete the mutex
- *
- * Decrement the Mutex reference counter and delete it when it reaches zero.
- *
- * @param[in] h_mutex Mutex handle (CreateMutex return value)
- *
- * @return WAIT_OBJECT_0 Normal completion<br>
- * WAIT_FAILED ABEND
- */
-DWORD PbDeleteMutex(HANDLE h_mutex) {
- DWORD lret = WAIT_OBJECT_0;
- u_int32 idx;
- int32 ref_cnt;
- int32 ret;
- BOOL is_owner;
- uint32_t tid;
-
- /* Null check */
- if (h_mutex == NULL) { // LCOV_EXCL_BR_LINE 6: h_mutex cannot be NULL
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "Argment ERROR");
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- lret = WAIT_FAILED; /* ABEND */ // LCOV_EXCL_LINE 6: h_mutex cannot be NULL
- } else {
- MutexLockMutex(); /* Get Mutex for accessing Mutex control info */
-
- /* Retrieve the index of the management table containing the Mutex handles */
- idx = MutexGetIdxOfCtrlTbl(h_mutex);
- /* When the specified Mutex handle is not registered */
- if (idx == MAX_CTRL_MUTEX_NUM) { // LCOV_EXCL_BR_LINE 200: idx can no be MAX_CTRL_MUTEX_NUM
- FRAMEWORKUNIFIEDLOG(ZONE_20, __FUNCTION__, "Argment ERROR [h_mutex:%p]", h_mutex);
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- lret = WAIT_FAILED; /* ABEND */ // LCOV_EXCL_LINE 200: idx can no be MAX_CTRL_MUTEX_NUM
- } else {
- /* If it is registered */
- /* Determinate its ownership */
- is_owner = MutexGetFlagOfOwnerTbl(idx);
- if (is_owner == TRUE) {
- /* Get Mutex reference counter */
- ref_cnt = MutexGetRefCntOfCtrlTbl(idx);
-
- /* No clients are using the specified Mutex. */
- if ((ref_cnt - 1) <= 0) {
- /* Lock information unmapping (CLS) */
- ret = CL_LockUnmap(reinterpret_cast<void*>(h_mutex)); // LCOV_EXCL_BR_LINE 4: nsfw error
- /* When an error occurs */
- if (ret == -1) { // LCOV_EXCL_BR_LINE 4: nsfw error
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "CL_LockUnmap ERROR");
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- lret = WAIT_FAILED; /* ABEND */ // LCOV_EXCL_LINE 4: nsfw error
- } else {
- /* If successful */
- /* Remove Mutex hanlde from Mutex control table */
- MutexSetMutexHandleOfCtrlTbl(idx, NULL);
-
- /* Delete the mutex name from the Mutex control table */
- MutexSetMutexNameOfCtrlTbl(idx, "");
-
- /* Update Mutex ownership */
- MutexSetFlagOfOwnerTbl(idx, FALSE);
-
- /* Decrement Mutex reference counter */
- MutexDecRefCntOfCtrlTbl(idx);
-
- /* Decrement mutex using counter */
- MutexDecUseCntOfCtrlInfo();
-
- tid = MutexGetTidOfCtrlTbl(idx);
- if (tid != 0) { // LCOV_EXCL_BR_LINE 200: tid can not be 0
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- MutexSetIsForbidAccessOfCtrlTbl(idx, TRUE); // LCOV_EXCL_LINE 200: tid can not be 0
- }
-
- /* Initialize debug information */
- MutexSetTidOfCtrlTbl(idx, 0);
- MutexSetIsRelFailOfCtrlTbl(idx, FALSE);
-
- FRAMEWORKUNIFIEDLOG(ZONE_20, __FUNCTION__,
- "### MUTEX TABLE INFORMATION # (--) idx:%d HANDLE:%p, ref_cnt(local):%d, " \
- "LOCK_ID:%d, NAME:%s, ref_cnt:%d, tid:%d, fail:%d, forbid:%d",
- idx,
- g_mutex_ctrl_tbl.handle[idx],
- g_mutex_ctrl_tbl.ref_cnt[idx],
- g_mutex_ctrl_tbl.info->detail[idx].lock_id,
- g_mutex_ctrl_tbl.info->detail[idx].name,
- g_mutex_ctrl_tbl.info->detail[idx].ref_cnt,
- g_mutex_ctrl_tbl.info->detail[idx].thread_id,
- g_mutex_ctrl_tbl.info->detail[idx].is_rel_fail,
- g_mutex_ctrl_tbl.info->detail[idx].is_forbid_access);
- }
- } else {
- /* If exists */
- /* Determine if any clients are referencing in the process */
- ref_cnt = MutexGetRefCntLocalOfCtrlTbl(idx);
- if ((ref_cnt - 1) <= 0) { // LCOV_EXCL_BR_LINE 200: ref_cnt can not bigger than 1
- // LCOV_EXCL_START 200: ref_cnt can not bigger than 1
- //AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- /* Lock information unmapping (CLS) */
- ret = CL_LockUnmap(reinterpret_cast<void*>(h_mutex));
- /* When an error occurs */
- if (ret == -1) {
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "CL_LockUnmap ERROR");
- lret = WAIT_FAILED; /* ABEND */
- } else {
- /* If successful */
- /* Remove Mutex Hanlde from the Mutex control table */
- MutexSetMutexHandleOfCtrlTbl(idx, NULL);
-
- /* Update Mutex ownership */
- MutexSetFlagOfOwnerTbl(idx, FALSE);
- }
- // LCOV_EXCL_STOP
- }
-
- if (lret == WAIT_OBJECT_0) {
- /* Decrement Mutex refernce counter */
- MutexDecRefCntOfCtrlTbl(idx);
-
- FRAMEWORKUNIFIEDLOG(ZONE_20, __FUNCTION__,
- "### MUTEX TABLE INFORMATION # (-) idx:%d HANDLE:%p, ref_cnt(local):%d, " \
- "LOCK_ID:%d, NAME:%s, ref_cnt:%d, tid:%d, fail:%d, forbid:%d",
- idx,
- g_mutex_ctrl_tbl.handle[idx],
- g_mutex_ctrl_tbl.ref_cnt[idx],
- g_mutex_ctrl_tbl.info->detail[idx].lock_id,
- g_mutex_ctrl_tbl.info->detail[idx].name,
- g_mutex_ctrl_tbl.info->detail[idx].ref_cnt,
- g_mutex_ctrl_tbl.info->detail[idx].thread_id,
- g_mutex_ctrl_tbl.info->detail[idx].is_rel_fail,
- g_mutex_ctrl_tbl.info->detail[idx].is_forbid_access);
- }
- }
-
- } else { // LCOV_EXCL_BR_LINE 200: is_owner can not be FALSE
- /* If it is not the owner */
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- lret = WAIT_FAILED; // LCOV_EXCL_LINE 200: is_owner can not be FALSE
- }
- }
-
- MutexUnlockMutex(); /* Release of Mutex for accessing Mutex control info */
- }
-
- return lret;
-}
-
-/**
- * @brief
- * Mutex Lock
- *
- * Take ownership of the mutex and start locking.
- *
- * @param[in] h_mutex Mutex handle(CreateMutex return value)
- * @param[in] timeout Timeout (Millisecond)
- *
- * @return WAIT_OBJECT_0 Succeeded to get ownership<br>
- * WAIT_TIMEOUT Failed to get ownership (Timeout)<br>
- * WAIT_FAILED Failed to get ownership (Error)
- */
-DWORD PbMutexLock(HANDLE h_mutex, DWORD timeout) {
- DWORD lret = WAIT_OBJECT_0;
- int32 ret;
- DWORD time_out_cnt = 0;
- u_int32 idx;
- BOOL is_owner;
- uint32_t tid;
-
- /* Null check */
- if (h_mutex == NULL) { // LCOV_EXCL_BR_LINE 6: h_mutex cannot be NULL
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "Argment ERROR");
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- lret = WAIT_FAILED; /* ABEND */ // LCOV_EXCL_LINE 6: h_mutex cannot be NULL
- } else {
- /* Retrieve the index of the management table containing the Mutex handles */
- idx = MutexGetIdxOfCtrlTbl(h_mutex);
- /* When the specified Mutex handle is not registered */
- if (idx == MAX_CTRL_MUTEX_NUM) { // LCOV_EXCL_BR_LINE 6: idx cannot be MAX_CTRL_MUTEX_NUM
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "Argment ERROR [h_mutex:%p, idx:%d]", \
- h_mutex, idx);
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- lret = WAIT_FAILED; /* ABEND */ // LCOV_EXCL_LINE 6: idx cannot be MAX_CTRL_MUTEX_NUM
- } else {
- /* If it is registered */
- /* Determinate ownership */
- is_owner = MutexGetFlagOfOwnerTbl(idx);
- if (is_owner == TRUE) {
- tid = PbGetTid();
-
- /* No timeout specified */
- if (timeout == INFINITE) { // LCOV_EXCL_BR_LINE 6: timeout will not be other case
- /* Get Lock (CLS) */
- ret = CL_LockGet(reinterpret_cast<void*>(h_mutex)); // LCOV_EXCL_BR_LINE 4: nsfw error
- if (ret != 0) /* In case of ABEND */ { // LCOV_EXCL_BR_LINE 4: nsfw error
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, \
- "CL_LockGet ERROR [h_mutex:%p, ret:%d]", h_mutex, ret);
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- lret = WAIT_FAILED; /* ABEND */ // LCOV_EXCL_LINE 4: nsfw error
- } else {
- /* Set thread ID during lock */
- MutexSetTidOfCtrlTbl(idx, tid);
- }
- } else {
- // LCOV_EXCL_START 6: timeout will not be other case
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- /* Timeout specified */
- while (1) {
- /* Get Lock (CLS) */
- ret = CL_LockNowait(reinterpret_cast<void*>(h_mutex));
- if (ret != 0) /* In case of ABEND */ {
- /* Invalid parameter */
- if (ret != EBUSY) {
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, \
- "CL_LockGet ERROR [h_mutex:%p, ret:%d]", h_mutex, ret);
- lret = WAIT_FAILED; /* ABEND */
- break;
- }
-
- time_out_cnt++;
- if (time_out_cnt <= timeout) {
- usleep(1000);
- } else {
- /* Timeout error */
- lret = WAIT_TIMEOUT;
- break;
- }
- } else {
- /* Successful acquisition */
- /* Set thread ID during lock */
- MutexSetTidOfCtrlTbl(idx, tid);
-
- break;
- }
- }
- // LCOV_EXCL_STOP
- }
- } else { // LCOV_EXCL_BR_LINE 200: is_owner can not be FALSE
- /* If it is not the owner */
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- lret = WAIT_FAILED; // LCOV_EXCL_LINE 200: is_owner can not be FALSE
- }
- }
- }
-
- return lret;
-}
-
-/**
- * @brief
- * Mutex Unlock
- *
- * Release the mutex ownership and terminate the lock.
- *
- * @param[in] h_mutex Mutex handle(CreateMutex return value)
- *
- * @return TURE Normal<br>
- * FALSE Error
- */
-BOOL PbMutexUnlock(HANDLE h_mutex) {
- BOOL bret = FALSE;
- int32 ret;
- u_int32 idx;
- BOOL is_owner;
- uint32_t tid;
-
- /* Null check */
- if (h_mutex == NULL) { // LCOV_EXCL_BR_LINE 6: h_mutex can not be NULL
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "Argment ERROR");
- } else {
- /* Retrieve the index of the management table containing the Mutex handle */
- idx = MutexGetIdxOfCtrlTbl(h_mutex);
- /* When the specified Mutex handle is not registered */
- if (idx == MAX_CTRL_MUTEX_NUM) { // LCOV_EXCL_BR_LINE 200: idx can not be MAX_CTRL_MUTEX_NUM
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, \
- "MutexGetIdxOfCtrlTbl ERROR [h_mutex:%p, idx:%d]", h_mutex, idx);
- } else {
- /* If it is registered */
- /* Determinate ownership */
- is_owner = MutexGetFlagOfOwnerTbl(idx);
- if (is_owner == TRUE) { // LCOV_EXCL_BR_LINE 4: nsfw error
- /* Release thread ID setting during lock */
- MutexSetTidOfCtrlTbl(idx, 0);
-
- /* Release the Lock */
- ret = CL_LockRelease(reinterpret_cast<void*>(h_mutex));
- if (ret == 0) /* If successful */ { // LCOV_EXCL_BR_LINE 4: nsfw error
- bret = TRUE;
-
- } else { // LCOV_EXCL_BR_LINE 4: nsfw error
- // LCOV_EXCL_START 4: nsfw error
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- /* Failed */
- tid = PbGetTid();
-
- /* Retry to set the thread ID during lock */
- MutexSetTidOfCtrlTbl(idx, tid);
-
- /* Add the release failure information */
- MutexSetIsRelFailOfCtrlTbl(idx, TRUE);
-
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, \
- "CL_LockRelease ERROR [h_mutex:%p, ret:%d]", h_mutex, ret);
- // LCOV_EXCL_STOP
- }
- }
- }
- }
-
- return bret;
-}
-
-/*---------------------------------------------------------------------------------*
- * Local Function *
- *---------------------------------------------------------------------------------*/
-/**
- * @brief
- * Set the Lock ID (Mutex control table)
- *
- * If an invalid value is specified for an argument, the system assumes that it is a design problem and calls _pb_Exit().
- *
- * @param[in] idx Control table accessor
- * @param[in] l_id Lock ID
- */
-static void MutexSetLockIdOfCtrlTbl(u_int32 idx, LOCK_ID l_id) {
- /* check index */
- if (idx >= MAX_CTRL_MUTEX_NUM) { // LCOV_EXCL_BR_LINE 6: idx cannot greater
- /* forbidden */
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "Argment ERROR [idx:%d, l_id:%d]", idx, l_id);
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- _pb_Exit(); // LCOV_EXCL_LINE 6: idx cannot greater
- /* don't arrive here. */
- } else {
- g_mutex_ctrl_tbl.info->detail[idx].lock_id = l_id;
- }
-
- return;
-}
-
-/**
- * @brief
- * Get the Lock ID (Mutex control table)
- *
- * If an invalid value is specified for an argument, the system assumes that it is a design problem and calls _pb_Exit().
- *
- * @param[in] idx Control table accessor
- */
-static LOCK_ID MutexGetLockIdOfCtrlTbl(u_int32 idx) {
- /* check index */
- if (idx >= MAX_CTRL_MUTEX_NUM) { // LCOV_EXCL_BR_LINE 6: idx cannot greater
- /* forbidden */
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "Argment ERROR [idx:%d]", idx);
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- _pb_Exit(); // LCOV_EXCL_LINE 6: idx cannot greater
- /* don't arrive here. */
- }
-
- return g_mutex_ctrl_tbl.info->detail[idx].lock_id;
-}
-
-/**
- * @brief
- * Set the Mutex name (Mutex control table)
- *
- * If an invalid value is specified for an argument, the system assumes that it is a design problem and calls _pb_Exit().
- *
- * @param[in] idx Control table accessor
- * @param[in] name Mutex name
- */
-static void MutexSetMutexNameOfCtrlTbl(u_int32 idx, LPCTSTR name) {
- /* check index */
- if (idx >= MAX_CTRL_MUTEX_NUM) { // LCOV_EXCL_BR_LINE 6: idx cannot greater
- /* forbidden */
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "Argment ERROR [idx:%d, name:%s]", idx, name);
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- _pb_Exit(); // LCOV_EXCL_LINE 6: idx cannot greater
- /* don't arrive here. */
- } else {
- _tcscpy(g_mutex_ctrl_tbl.info->detail[idx].name, name);
- }
-
- return;
-}
-
-/**
- * @brief
- * Set the Mutex handle (Mutex control table)
- *
- * If an invalid value is specified for an argument, the system assumes that it is a design problem and calls _pb_Exit().
- *
- * @param[in] idx Control table accessor
- * @param[in] handle Mutex handle
- */
-static void MutexSetMutexHandleOfCtrlTbl(u_int32 idx, HANDLE handle) {
- /* check index */
- if (idx >= MAX_CTRL_MUTEX_NUM) { // LCOV_EXCL_BR_LINE 6: idx cannot greater
- /* forbidden */
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "Argment ERROR [idx:%d, handle:%p]", idx, handle);
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- _pb_Exit(); // LCOV_EXCL_LINE 6: idx cannot greater
- /* don't arrive here. */
- } else {
- g_mutex_ctrl_tbl.handle[idx] = handle;
- }
-
- return;
-}
-
-/**
- * @brief
- * Get the Mutex handle (Mutex control table)
- *
- * If an invalid value is specified for an argument, the system assumes that it is a design problem and calls _pb_Exit().
- *
- * @param[in] idx Control table accessor
- *
- * @return Mutex handle
- */
-static HANDLE MutexGetMutexHandleOfCtrlTbl(u_int32 idx) {
- HANDLE handle = NULL;
-
- /* check index */
- if (idx >= MAX_CTRL_MUTEX_NUM) { // LCOV_EXCL_BR_LINE 6: idx cannot greater
- /* forbidden */
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "Argment ERROR [idx:%d]", idx);
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- _pb_Exit(); // LCOV_EXCL_LINE 6: idx cannot greater
- /* don't arrive here. */
- } else {
- handle = g_mutex_ctrl_tbl.handle[idx];
- }
-
- return handle;
-}
-
-/**
- * @brief
- * Set the thread ID during lock acquisition (Mutex control table)
- *
- * @param[in] idx Control table accessor
- * @param[in] tid Thread ID
- * @note If an invalid value is specified for an argument, the system assumes that it is a design problem and calls _pb_Exit().
- */
-static void MutexSetTidOfCtrlTbl(uint32_t idx, uint32_t tid) {
- /* check index */
- if (idx >= MAX_CTRL_MUTEX_NUM) { // LCOV_EXCL_BR_LINE 6: idx cannot greater
- /* forbidden */
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "Argument ERROR [idx:%d]", idx);
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- _pb_Exit(); // LCOV_EXCL_LINE 6: idx cannot greater
- /* don't arrive here. */
- } else {
- g_mutex_ctrl_tbl.info->detail[idx].thread_id = tid;
- }
-
- return;
-}
-
-
-/**
- * @brief
- * Get the thread ID during lock acquisition (Mutex control table)
- *
- * @param[in] idx Control table accessor
- *
- * @return Thread ID
- *
- * @note If an invalid value is specified for an argument, the system assumes that it is a design problem and calls _pb_Exit().
- */
-static uint32_t MutexGetTidOfCtrlTbl(uint32_t idx) {
- uint32_t tid = 0;
-
- /* check index */
- if (idx >= MAX_CTRL_MUTEX_NUM) { // LCOV_EXCL_BR_LINE 6: idx cannot greater
- /* forbidden */
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "Argument ERROR [idx:%d]", idx);
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- _pb_Exit(); // LCOV_EXCL_LINE 6: idx cannot greater
- /* don't arrive here. */
- } else {
- tid = g_mutex_ctrl_tbl.info->detail[idx].thread_id;
- }
-
- return tid;
-}
-
-
-/**
- * @brief
- * Set the release failure information (Mutex control table)
- *
- * @param[in] idx Control table accessor
- * @param[in] flag Failed to release:TURE
- * @note If an invalid value is specified for an argument, the system assumes that it is a design problem and calls _pb_Exit().
- */
-static void MutexSetIsRelFailOfCtrlTbl(uint32_t idx, BOOL flag) {
- /* check index */
- if (idx >= MAX_CTRL_MUTEX_NUM) { // LCOV_EXCL_BR_LINE 6: idx cannot greater
- /* forbidden */
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "Argument ERROR [idx:%d]", idx);
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- _pb_Exit(); // LCOV_EXCL_LINE 6: idx cannot greater
- /* don't arrive here. */
- } else {
- g_mutex_ctrl_tbl.info->detail[idx].is_rel_fail = flag;
- }
-
- return;
-}
-
-/**
- * @brief
- * Set deletion-occurrence information during Lock acquisition (Mutex control table)
- *
- * @param[in] idx Control table accessor
- * @param[in] flag When deletion occurs while Lock is being acquired:TRUE
- * @note If an invalid value is specified for an argument, the system assumes that it is a design problem and calls _pb_Exit().
- */
-static void MutexSetIsForbidAccessOfCtrlTbl(uint32_t idx, BOOL flag) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- /* check index */
- if (idx >= MAX_CTRL_MUTEX_NUM) { // LCOV_EXCL_BR_LINE 6: idx cannot greater
- /* forbidden */
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "Argument ERROR [idx:%d]", idx);
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- _pb_Exit(); // LCOV_EXCL_LINE 6: idx cannot greater
- /* don't arrive here. */
- } else {
- g_mutex_ctrl_tbl.info->detail[idx].is_forbid_access = flag;
- }
-
- return;
-}
-// LCOV_EXCL_STOP
-
-/**
- * @brief
- * Get index for access (Mutex control table)
- *
- * Return the index for accessing the area of the Mutex control table in which <br>
- * the specified mutex handle is registered. If the specified handle is not <br>
- * registered, the maximum number of mutex management (MAX_MUTEX_CTRL_NUM) is returned.
- *
- * @param[in] h_mutex Mutex handle
- *
- * @return Index for access (Specified handle is already registered)<br>
- * Maximum mutex management value (Specified handle is not registered)
- */
-static u_int32 MutexGetIdxOfCtrlTbl(HANDLE h_mutex) {
- u_int32 idx;
- HANDLE handle;
-
- for (idx = 0; idx < MAX_CTRL_MUTEX_NUM; idx++) {
- /* Get handle from Mutex control table */
- handle = MutexGetMutexHandleOfCtrlTbl(idx);
-
- if (handle == h_mutex) {
- break;
- }
- }
-
- return idx;
-}
-
-/**
- * @brief
- * Increment the Mutex reference counter (Mutex control table)
- *
- * If an invalid value is specified for an argument, the system assumes that it is a design problem and calls _pb_Exit().
- *
- * @param[in] idx Control table accessor
- */
-static void MutexIncRefCntOfCtrlTbl(u_int32 idx) {
- /* check index */
- if (idx >= MAX_CTRL_MUTEX_NUM) { // LCOV_EXCL_BR_LINE 6: idx cannot greater
- /* forbidden */
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "Argment ERROR [idx:%d]", idx);
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- _pb_Exit(); // LCOV_EXCL_LINE 6: idx cannot greater
- /* don't arrive here. */
- }
-
- g_mutex_ctrl_tbl.info->detail[idx].ref_cnt++;
- g_mutex_ctrl_tbl.ref_cnt[idx]++;
-
- return;
-}
-
-/**
- * @brief
- * Decrement the Mutex reference counter (Mutex control table)
- *
- * If an invalid value is specified for an argument, the system assumes that it is a design problem and calls _pb_Exit().
- *
- * @param[in] idx Control table accessor
- */
-static void MutexDecRefCntOfCtrlTbl(u_int32 idx) {
- /* check index */
- if (idx >= MAX_CTRL_MUTEX_NUM) { // LCOV_EXCL_BR_LINE 6: idx cannot greater
- /* forbidden */
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "Argment ERROR [idx:%d]", idx);
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- _pb_Exit(); // LCOV_EXCL_LINE 6: idx cannot greater
- /* don't arrive here. */
- }
-
- g_mutex_ctrl_tbl.info->detail[idx].ref_cnt--;
- g_mutex_ctrl_tbl.ref_cnt[idx]--;
-
- return;
-}
-
-/**
- * @brief
- * Get the Mutex Reference Counter (Mutex control table)
- *
- * If an invalid value is specified for an argument, the system assumes that it is a design problem and calls _pb_Exit().
- *
- * @param[in] idx Control table accessor
- *
- * @return Reference counter value
- */
-static int32 MutexGetRefCntOfCtrlTbl(u_int32 idx) {
- int32 ret = 0;
-
- /* check index */
- if (idx >= MAX_CTRL_MUTEX_NUM) { // LCOV_EXCL_BR_LINE 6: idx cannot greater
- /* forbidden */
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "Argment ERROR [idx:%d]", idx);
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- _pb_Exit(); // LCOV_EXCL_LINE 6: idx cannot greater
- /* don't arrive here. */
- } else {
- ret = g_mutex_ctrl_tbl.info->detail[idx].ref_cnt;
- }
-
- return ret;
-}
-
-/**
- * @brief
- * Get mutex reference counter (in-process)(Mutex control table)
- *
- * If an invalid value is specified for an argument, the system assumes that it is a design problem and calls _pb_Exit().
- *
- * @param[in] idx Control table accessor
- *
- * @return Reference counter value
- */
-static int32 MutexGetRefCntLocalOfCtrlTbl(u_int32 idx) {
- /* check index */
- if (idx >= MAX_CTRL_MUTEX_NUM) { // LCOV_EXCL_BR_LINE 6: idx cannot greater
- /* forbidden */
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "Argment ERROR [idx:%d]", idx);
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- _pb_Exit(); // LCOV_EXCL_LINE 6: idx cannot greater
- /* don't arrive here. */
- }
-
- return g_mutex_ctrl_tbl.ref_cnt[idx];
-}
-
-/**
- * @brief
- * Search mutex name (Mutex control table)
- *
- * Retrieve whether the specified mutex is already registered in the Mutex control table.<br>
- * If it is registered, the access index is returned.If it is not registered,<br>
- * return the maximum mutex management value(MAX_CTRL_MUTEX_NUM).
- *
- * @param[in] name Mutex name
- *
- * @return Index for access(If it is registered)<br>
- * Maximum mutex management value (Not registered)
- */
-static u_int32 MutexSearchNameOfCtrlTbl(LPCTSTR name) {
- int32 ret;
- u_int32 idx;
-
- for (idx = 0; idx < MAX_CTRL_MUTEX_NUM; idx++) {
- ret = _tcscmp(g_mutex_ctrl_tbl.info->detail[idx].name, name);
-
- /* If there is a match */
- if (ret == 0) {
- break;
- }
- }
-
- return idx;
-}
-
-/**
- * @brief
- * Search unused area (Mutex control table)
- *
- * Return the lowest-numbered index for accessing unused space in the Mutex control table.<br>
- * Return the maximum value((MAX_CTRL_MUTEX_NUM)) of message queue management <br>
- * when no unused area exists.
- *
- * @return Index for access (Unused area exists)<br>
- * Maximum mutex management value (No unused area)
- */
-static u_int32 MutexSearchEmptyOfCtrlTbl(void) {
- u_int32 idx;
-
- idx = MutexSearchNameOfCtrlTbl("");
-
- return idx;
-}
-
-/**
- * @brief
- * Set the Mutex ownership flag (Ownership-information table)
- *
- * @param[in] idx Control table accessor
- * @param[in] flag ownership-information
- */
-static void MutexSetFlagOfOwnerTbl(u_int32 idx, BOOL flag) {
- /* check index */
- if (idx >= MAX_CTRL_MUTEX_NUM) { // LCOV_EXCL_BR_LINE 6: idx cannot greater
- /* forbidden */
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "Argment ERROR [idx:%d, flag:%d]", idx, flag);
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- _pb_Exit(); // LCOV_EXCL_LINE 6: idx cannot greater
- /* don't arrive here. */
- } else {
- g_is_mutex_owner_tbl[idx] = flag;
- }
-
- return;
-}
-
-/**
- * @brief
- * Get the Mutex ownership flag (Ownership-information table)
- *
- * @param[in] idx Control table accessor
- *
- * @return TRUE Owned
- * FALSE Not owned
- */
-static BOOL MutexGetFlagOfOwnerTbl(u_int32 idx) {
- BOOL bret = FALSE;
-
- /* check index */
- if (idx >= MAX_CTRL_MUTEX_NUM) { // LCOV_EXCL_BR_LINE 6: idx cannot greater
- /* forbidden */
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "Argment ERROR [idx:%d]", idx);
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- _pb_Exit(); // LCOV_EXCL_LINE 6: idx cannot greater
- /* don't arrive here. */
- } else {
- bret = g_is_mutex_owner_tbl[idx];
- }
-
- return bret;
-}
-
-/**
- * @brief
- * Create Mutex for accessing the Mutex control table
- */
-static void MutexCreateMutex(void) {
- g_h_mtx = (HANDLE)CL_LockMap(MUTEX_LOCK_ID_0); // LCOV_EXCL_BR_LINE 4: nsfw error
- if (g_h_mtx == NULL) { // LCOV_EXCL_BR_LINE 4: nsfw error
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "CL_LockMap ERROR [g_h_mtx:%p]", g_h_mtx);
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- _pb_Exit(); // LCOV_EXCL_LINE 4: nsfw error
- /* don't arrive here. */
- }
-
- return;
-}
-
-/**
- * @brief
- * Delete Mutex for accessing Mutex control table
- */
-static void MutexDeleteMutex(void) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- int32 ret;
-
- ret = CL_LockUnmap(g_h_mtx);
- if (ret != 0) {
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, \
- "CL_LockUnmap ERROR [g_h_mtx:%p, ret:%d]", g_h_mtx, ret);
- _pb_Exit();
- /* don't arrive here. */
- }
-
- return;
-}
-// LCOV_EXCL_STOP
-
-/**
- * @brief
- * Get Mutex for accessing Mutex control table
- */
-static void MutexLockMutex(void) {
- int32 ret;
-
- ret = CL_LockGet(g_h_mtx); // LCOV_EXCL_BR_LINE 4: nsfw error
- if (ret != 0) { // LCOV_EXCL_BR_LINE 4: nsfw error
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, \
- "CL_LockGet ERROR [g_h_mtx:%p, ret:%d]", g_h_mtx, ret);
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- _pb_Exit(); // LCOV_EXCL_LINE 4: nsfw error
- /* don't arrive here. */
- }
-
- return;
-}
-
-/**
- * @brief
- * Release Mutex for accessing Mutex control table
- */
-static void MutexUnlockMutex(void) {
- int32 ret;
-
- ret = CL_LockRelease(g_h_mtx); // LCOV_EXCL_BR_LINE 4: nsfw error
- if (ret != 0) { // LCOV_EXCL_BR_LINE 4: nsfw error
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, \
- "CL_LockRelease ERROR [g_h_mtx:%p, ret:%d]", g_h_mtx, ret);
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- _pb_Exit(); // LCOV_EXCL_LINE 4: nsfw error
- /* don't arrive here. */
- }
-
- return;
-}
-
-/**
- * @brief
- * Get dump information
- *
- * @param[out] p_buf Dump info
- * @param[in/out] p_len Buffer size
- */
-void _pb_GetDebugMutexMngTbl(void* p_buf, uint8_t* p_len) {
- static uint8_t buf[DEBUG_DUMP_MAX_SIZE];
- static uint8_t buf_tmp[512];
- static uint8_t buf_info[DEBUG_DUMP_MAX_SIZE];
- uint32_t i;
- uint8_t cnt = 0;
-
- if ((p_buf != NULL) && (p_len != NULL)) {
- memset(&buf[0], 0x00, sizeof(buf));
- memset(&buf_info[0], 0x00, sizeof(buf_info));
- for (i = 0; i < MAX_CTRL_MUTEX_NUM; i++) {
- memset(&buf_tmp[0], 0x00, sizeof(buf_tmp));
- snprintf(reinterpret_cast<char *>(&buf_tmp[0]), sizeof(buf_tmp),
- "\n [%02d]id:%10d, nm:%40s, ref_cnt:%10d, tid:%03d, fail:%01d, " \
- "forbid:%01d, handle:%10p, ref_cnt(local):%10d",
- i,
- g_mutex_ctrl_tbl.info->detail[i].lock_id,
- g_mutex_ctrl_tbl.info->detail[i].name,
- g_mutex_ctrl_tbl.info->detail[i].ref_cnt,
- g_mutex_ctrl_tbl.info->detail[i].thread_id,
- g_mutex_ctrl_tbl.info->detail[i].is_rel_fail,
- g_mutex_ctrl_tbl.info->detail[i].is_forbid_access,
- g_mutex_ctrl_tbl.handle[i],
- g_mutex_ctrl_tbl.ref_cnt[i]);
- strncat(reinterpret_cast<char *>(&buf_info[0]), reinterpret_cast<char *>(&buf_tmp[0]), \
- strlen(reinterpret_cast<char *>(&buf_tmp[0])));
- if (((i + 1) % 10) == 0) {
- cnt++;
- memset(&buf[0], 0x00, sizeof(buf));
- snprintf(reinterpret_cast<char *>(&buf[0]), sizeof(buf),
- "Mutex-%d%s",
- cnt,
- &buf_info[0]);
- memcpy(p_buf, &buf[0], sizeof(buf));
- p_buf = reinterpret_cast<void *>((reinterpret_cast<uint8_t *>(p_buf)) + sizeof(buf));
- memset(&buf_info[0], 0x00, sizeof(buf_info));
- if (cnt >= *p_len) {
- break;
- }
- }
- }
- if (cnt < *p_len) {
- if (buf_info[0] != 0x00) {
- cnt++;
- memset(&buf[0], 0x00, sizeof(buf));
- snprintf(reinterpret_cast<char *>(&buf[0]), sizeof(buf),
- "Mutex-%d%s",
- cnt,
- &buf_info[0]);
- memcpy(p_buf, &buf[0], sizeof(buf));
- }
- *p_len = cnt;
- }
- }
-}
-
-/**
- * @brief
- * Increment the Mutex using counter
- *
- * @param[in] none
- */
-static void MutexIncUseCntOfCtrlInfo(void) {
- g_mutex_ctrl_tbl.info->use_cnt++;
- return;
-}
-
-/**
- * @brief
- * Decrement Mutex using counter
- *
- * @param[in] none
- */
-static void MutexDecUseCntOfCtrlInfo(void) {
- g_mutex_ctrl_tbl.info->use_cnt--;
- return;
-}
-
-/**
- * @brief
- * Increment Mutex reserved counter
- *
- * @param[in] none
- */
-static void MutexIncRsvCntOfCtrlInfo(void) {
- g_mutex_ctrl_tbl.info->rsv_cnt++;
- return;
-}
-
-/**
- * @brief
- * Decrement Mutex reserved counter
- *
- * @param[in] none
- */
-static void MutexDecRsvCntOfCtrlInfo(void) {
- g_mutex_ctrl_tbl.info->rsv_cnt--;
- return;
-}
-
-/**
- * @brief
- * Determine resources ready (Mutex control data)
- *
- * @param[in] none
- *
- * @return BOOL
- * @retval TRUE : Normal
- * @retval FALSE : Error (Resource shortage)
- */
-BOOL _pb_GetMutexResource(void) {
- BOOL ret = TRUE;
- uint32_t cnt;
-
- MutexLockMutex();
-
- /* Increment Mutex reserved counter */
- MutexIncRsvCntOfCtrlInfo();
-
- cnt = g_mutex_ctrl_tbl.info->use_cnt + g_mutex_ctrl_tbl.info->rsv_cnt;
- if (cnt >= FULL_CTRL_MUTEX_NUM) {
- ret = FALSE;
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, \
- "Lack of resources [FATAL][use_cnt:%d rsv_cnt:%d]", g_mutex_ctrl_tbl.info->use_cnt, \
- g_mutex_ctrl_tbl.info->rsv_cnt);
- } else if (cnt >= WARN_CTRL_MUTEX_NUM) {
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, \
- "Lack of resources [WARN][use_cnt:%d rsv_cnt:%d]", g_mutex_ctrl_tbl.info->use_cnt, \
- g_mutex_ctrl_tbl.info->rsv_cnt);
- }
-
- MutexUnlockMutex();
-
- return ret;
-}
-
-/**
- * @brief
- * Release resources (Mutex control data)
- *
- * @param[in] none
- *
- * @return none
- */
-void _pb_ReleaseMutexResource(void) {
- MutexLockMutex();
-
- /* Decrement Mutex reserved counter */
- MutexDecRsvCntOfCtrlInfo();
-
- MutexUnlockMutex();
-
- return;
-}
-#endif /* PT_PB_MUTEX_STUB__CWORD71_ */
diff --git a/video_in_hal/vehicleservice/positioning_base_library/library/src/_pbOSCtrl.cpp b/video_in_hal/vehicleservice/positioning_base_library/library/src/_pbOSCtrl.cpp
deleted file mode 100755
index c38016a..0000000
--- a/video_in_hal/vehicleservice/positioning_base_library/library/src/_pbOSCtrl.cpp
+++ /dev/null
@@ -1,541 +0,0 @@
-/*
- * @copyright Copyright (c) 2016-2020 TOYOTA MOTOR CORPORATION.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/*
-* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- File name : _pbOSCtrl.cpp
- System name :
- Subsystem name :
- Title :
-* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-
-#include <unistd.h>
-#include <stdint.h>
-#include <sys/mman.h>
-#include <vehicle_service/positioning_base_library.h>
-#include "WPF_STD_private.h"
-#include "_pbInternalProc.h"
-#include "_pbSerial.h"
-/* For CreateFile--> */
-#include <sys/select.h>
-#include <fcntl.h>
-#include <strings.h>
-#include <termios.h>
-/* For CreateFile <-- */
-
-#define GPS_FUNC_DEBUG_MSG__CWORD71__FILE 0
-
-#if GPS_FUNC_DEBUG_MSG__CWORD71__FILE
-#define FILE_OUT_LINE 50
-static u_int8 file_buf[FILE_OUT_LINE][1024];
-static u_int16 line_size_buf[FILE_OUT_LINE];
-
-/* Log destination selection (Activate the one you want to output.) */
-#define POS_GPS_R_LOGFILE_PATH "/nv/BS/vs/positioning_base_library/rwdata/Test_Pos_gps_read_data.txt"
-#define POS_GPS_W_LOGFILE_PATH "/nv/BS/vs/positioning_base_library/rwdata/Test_Pos_gps_write_data.txt"
-
-#endif /* GPS_FUNC_DEBUG_MSG__CWORD71__FILE */
-
-/* For CreateFile--> */
-#define BAUDRATE B9600
-#define MODEMDEVICE "/dev/tty.gps"
-/* For CreateFile <-- */
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-* MODULE : ClearCommError
-* ABSTRACT : Get the communication error information and report the current status of the communication device.
-* NOTE :
-* ARGUMENT :
-* RETURN : BOOL defined
-* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-/* Wait for replacement */
-BOOL ClearCommError(HANDLE h_file, LPDWORD lp_errors, LPCOMSTAT lp_stat) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- return 0;
-// LCOV_EXCL_STOP
-}
-
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-* MODULE : GetCommState
-* ABSTRACT : Store the current control settings of the specified communication device in the device control block (DCB struct).
-* NOTE :
-* ARGUMENT :
-* RETURN : BOOL defined
-* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-/* Wait for replacement */ /* TODO IHFLOW OHFLOW declarations are missing */
-BOOL GetCommState(HANDLE h_file, LPDCB lp_dcb) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- return 1;
-// LCOV_EXCL_STOP
-}
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-* MODULE : GetCommTimeouts
-* ABSTRACT : Get the timeout parameters for all read and write operations performed on the specified communication device.
-* NOTE :
-* ARGUMENT :
-* RETURN : BOOL defined
-* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-
-BOOL GetCommTimeouts(HANDLE h_file, LPCOMMTIMEOUTS lp_comm_timeouts) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
-#if 1 /* GPF */
- BOOL bret = FALSE;
- DWORD dw_read = 0;
- DWORD dw_write = 0;
-
- if ((INVALID_HANDLE_VALUE != h_file) && (NULL != lp_comm_timeouts)) {
- /* Initialization */
- memset(lp_comm_timeouts, 0, sizeof(COMMTIMEOUTS));
- bret = SerialObjectTimeoutGet(h_file, &dw_read, &dw_write);
- if (TRUE == bret) {
- lp_comm_timeouts->write_total_timeout_constant = dw_write;
- if (0 == dw_read) {
- /* Return as 0? or return this setting? */
- lp_comm_timeouts->read_interval_timeout = INFINITE;
- lp_comm_timeouts->read_total_timeout_constant = 0;
- lp_comm_timeouts->read_total_timeout_multiplier = 0;
- } else {
- lp_comm_timeouts->read_total_timeout_constant = dw_read;
- }
- } else {
- /* not exist in the list */
- lp_comm_timeouts->write_total_timeout_constant = INFINITE;
- lp_comm_timeouts->read_total_timeout_constant = INFINITE;
- bret = TRUE;
- }
- }
-
- return bret;
-
-#endif /* GPF */
-}
-// LCOV_EXCL_STOP
-
-/**
- * @brief
- * Clear Communication Buffer
- *
- * Discard all characters in the output buffer or input buffer of the specified resource
- *
- *
- * @param[in] h_file Handle of the communication resource
- * @param[in] dw_flags Operation to perform
- *
- * @return Processing result
- * @retval TRUE processing succeeded
- * @retval FALSE Processing failed
- */
-BOOL PurgeComm(HANDLE h_file, DWORD dw_flags) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- BOOL ret = 0;
- int res = -1;
- /* h_file is FD, and less than INT_MAX(0x7fffffff) */
- /* Flush received but unreceived data */
- res = tcflush(static_cast<int>((long)h_file), TCIFLUSH); // NOLINT(runtime/int)
- if (res != -1) {
- ret = 1;
- }
- return ret;
-}
-// LCOV_EXCL_STOP
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-* MODULE : SetCommMask
-* ABSTRACT : Specify a set of events to monitor for a specific communication device.
-* NOTE :
-* ARGUMENT :
-* RETURN : BOOL defined
-* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-
-BOOL SetCommMask(HANDLE h_file, DWORD dw_evt_mask) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
-#if 1 /* GPF */
- BOOL bret = FALSE;
-
- bret = SerialObjectWaitmaskAdd(h_file, dw_evt_mask);
- return bret;
-#endif /* GPF */
-}
-// LCOV_EXCL_STOP
-
-/**
- * @brief
- *
- * Communication setting
- *
- * Set the serial communication according to the setting information.
- *
- * @param[in] h_file Communication handle
- * @param[in] lp_dcb Serial port setting information
- *
- * @return Processing result
- * @retval TRUE processing succeeded
- * @retval FALSE Processing failed
- */
-BOOL SetCommState(HANDLE h_file, LPDCB lp_dcb) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- struct termios newtio;
-#if 1
- bzero(&newtio, sizeof(newtio));
- cfmakeraw(&newtio); /* RAW mode */
- newtio.c_cflag |= (BAUDRATE | CS8 | CLOCAL | CREAD);/*Baud:9600*/
- newtio.c_lflag &= ~ECHO;
-#endif
- /* h_file is FD, and less than INT_MAX(0x7fffffff) */
- tcflush(static_cast<int>((long)h_file), TCIFLUSH); // NOLINT(runtime/int)
- tcsetattr(static_cast<int>((long)h_file), TCSANOW, &newtio); // NOLINT(runtime/int)
-
- return 1;
-}
-// LCOV_EXCL_STOP
-
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-* MODULE : SetCommTimeouts
-* ABSTRACT : Set the timeout parameter for all read and write operations performed on the specified communication device.
-* NOTE :
-* ARGUMENT :
-* RETURN : BOOL defined
-* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-
-BOOL SetCommTimeouts(HANDLE h_file, LPCOMMTIMEOUTS lp_comm_timeouts) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
-#if 1 /* GPF */
- BOOL bret = FALSE;
- DWORD dw_read_timeout = INFINITE;
- DWORD dw_write_timeout = INFINITE;
-
- /* Calculate timeout time */
- if ((INFINITE == lp_comm_timeouts->read_interval_timeout)
- && (0 == lp_comm_timeouts->read_total_timeout_constant)
- && (0 == lp_comm_timeouts->read_total_timeout_multiplier)) {
- /* Set without waiting */
- dw_read_timeout = 0;
- } else {
- dw_read_timeout = lp_comm_timeouts->read_total_timeout_constant;
- }
-
-
- dw_write_timeout = lp_comm_timeouts->write_total_timeout_constant;
-
- bret = SerialObjectTimeoutAdd(h_file, dw_read_timeout, dw_write_timeout);
-
- return bret;
-#endif /* GPF */
-}
-// LCOV_EXCL_STOP
-
-/**
- * @brief
- *
- * Waiting for communication event
- *
- * Wait for an event to be generated for a specified handle
- * Note : Continue to wait indefinitely until data reception/error occurs
- *
- * @param[in] h_file Communication handle
- * @param[out] lp_evt_mask Pointer to the variable to receive the event
- * @param[in] lp_overlapped OVERLAPPED Pointer to a struct[Note:Not used]
- *
- * @return Processing result
- * @retval TRUE Processing succeeded
- * @retval FALSE Processing failed
- */
-BOOL WaitCommEvent(HANDLE h_file, LPDWORD lp_evt_mask, LPOVERLAPPED lp_overlapped) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- BOOL ret = 0;
- int res = -1;
- int fd;
- fd_set fds_set_err;
- fd_set fds_set; // Set of file descriptor
-
- struct timeval tv;
-
- /* Monitor for 0.5 seconds */
- tv.tv_sec = 1;
- tv.tv_usec = 0;
- /* h_file is FD, and less than INT_MAX(0x7fffffff) */
- fd = static_cast<int>((long)h_file); // NOLINT(runtime/int)
-
- /* Initialization */
- FD_ZERO(&fds_set);
- FD_ZERO(&fds_set_err);
-
- FD_SET(fd, &fds_set);
- FD_SET(fd, &fds_set_err);
-
- res = select(fd + 1, &fds_set, NULL, &fds_set_err, &tv);
-
- if (res > 0) {
- if (FD_ISSET(fd, &fds_set)) {
- *lp_evt_mask = EV_RXCHAR;
- ret = 1;
-
- } else {
- *lp_evt_mask = EV_ERROR;
- ret = 0;
- }
- } else {
- ret = 0;
- }
- return ret;
-}
-// LCOV_EXCL_STOP
-
-/**
- * @brief
- *
- * Create file
- *
- * Create or open an object and return a handle which can be used to access the object
- *
- * @param lp_file_name Not used
- * @param dw_desired_access Not used
- * @param dw_share_mode Not used
- * @param lp_security_attributes Not used
- * @param dw_creation_disposition Not used
- * @param dw_flags_and_attributes Not used
- * @param h_template_file Not used
- *
- * @return Handle
- */
-HANDLE CreateFile(LPCTSTR lp_file_name, DWORD dw_desired_access, DWORD dw_share_mode, LPSECURITY_ATTRIBUTES lp_security_attributes, DWORD dw_creation_disposition, DWORD dw_flags_and_attributes, HANDLE h_template_file) { // LCOV_EXCL_START 8:dead code // NOLINT(whitespace/line_length)
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- int fd;
- int loop = 1;
-
- while (loop == 1) {
- fd = open(MODEMDEVICE, O_RDWR | O_NOCTTY);
- if (fd != -1) {
- break;
- }
- sleep(1);
- }
- /* fd is FD, and less than INT_MAX(0x7fffffff) and the return data type is HANDLE. */
- return (HANDLE)((long)(fd)); // NOLINT(runtime/int)
-}
-// LCOV_EXCL_STOP
-
-/**
- * @brief
- *
- * Close file
- *
- * Close an open file
- *
- * @param[in] h_object Handle
- *
- * @return Processing result
- * @retval TRUE Processing succeeded
- * @retval FALSE Processing failed
- */
-BOOL CloseFile(HANDLE h_object) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- if (h_object != reinterpret_cast<void*>(-1)) {
- /* h_object is FD, and less than INT_MAX(0x7fffffff) */
- close(static_cast<int>((long)h_object)); // NOLINT(runtime/int)
- } else {
- /* nop */
- }
- return 0;
-}
-// LCOV_EXCL_STOP
-
-/**
- * @brief
- *
- * Write File
- *
- * Writing Data to a File
- *
- * @param[in] h_file Handle
- * @param[in] lp_buffer buffer to write
- * @param[out] n_number_of_bytes_to_write Maximum writing size
- * @param[out] lpNumberOfBytesWrite Writing size
- * @param lp_overlapped Not used
- *
- * @return Processing result
- * @retval TRUE Processing succeeded
- * @retval FALSE Processing failed
- */
-BOOL WriteFile(HANDLE h_file, LPCVOID lp_buffer, DWORD n_number_of_bytes_to_write, LPDWORD lp_number_of_bytes_written, LPOVERLAPPED lp_overlapped) { // LCOV_EXCL_START 8:dead code // NOLINT(whitespace/line_length)
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- int res = -1;
- BOOL ret = 0;
- int fd;
- fd_set fds_set; /* Set of file descriptors */
- fd_set fds_set_err;
-
- struct timeval tv;
-
-#if GPS_FUNC_DEBUG_MSG__CWORD71__FILE
- static FILE* fp = NULL; /* For debugging */
- int i;
-#endif /* GPS_FUNC_DEBUG_MSG__CWORD71__FILE */
-
- /* monitor for 2 seconds.*/
- tv.tv_sec = 2;
- tv.tv_usec = 0;
- /* h_file is FD, and less than INT_MAX(0x7fffffff) */
- fd = static_cast<int>((long)h_file); // NOLINT(runtime/int)
-
- /* Initialization */
- FD_ZERO(&fds_set);
- FD_ZERO(&fds_set_err);
-
- FD_SET(fd, &fds_set);
- FD_SET(fd, &fds_set_err);
-
- res = select(fd + 1, &fds_set, NULL, &fds_set_err, &tv);
- if (res > 0) {
- if (FD_ISSET(fd, &fds_set)) {
- /* h_file is FD, and less than INT_MAX(0x7fffffff) */
- res = static_cast<int>(write(static_cast<int>((long)h_file), lp_buffer, // NOLINT(runtime/int)
- n_number_of_bytes_to_write));
- *lp_number_of_bytes_written = res;
-
-#if GPS_FUNC_DEBUG_MSG__CWORD71__FILE
- if (fp == NULL) {
- /* File initialization */
- fp = fopen(POS_GPS_W_LOGFILE_PATH, "w+");
- } else {
- fp = fopen(POS_GPS_W_LOGFILE_PATH, "a+");
- }
- for (i = 0; i < n_number_of_bytes_to_write; i++) {
- fprintf(fp, "%02x ", *(reinterpret_cast<char *>(lp_buffer) + i));
- }
- fprintf(fp, "\n");
- fclose(fp);
-#endif /* GPS_FUNC_DEBUG_MSG__CWORD71__FILE */
- }
- } else {
- }
-
- if (res != -1) {
- ret = 1;
- }
-
- return ret;
-}
-// LCOV_EXCL_STOP
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-* MODULE : Wsprintf
-* ABSTRACT : Format a string and store the value in a buffer. If any of the arguments are passed,
-* Format according to the corresponding format specifier in the format control string and copies it to the output buffer.
-* NOTE :
-* ARGUMENT :
-* RETURN : int defined
-* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-int Wsprintf(LPTSTR lp_out, LPCTSTR lp_fmt, ...) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
-#if 1 /* GPF */
- int rtn;
- va_list args;
-
- va_start(args, lp_fmt);
- /* Seems to be occured problems because the buffer size is not known. */
- rtn = vswprintf(reinterpret_cast<wchar_t*>(lp_out), 256, reinterpret_cast<const wchar_t*>(lp_fmt), args);
- va_end(args);
-
- return rtn;
-#endif /* GPF */
-}
-// LCOV_EXCL_STOP
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-* MODULE : PbSystemTimeToFileTime
-* ABSTRACT : Convert the system date and time to 64-bit format file time.
-* NOTE :
-* ARGUMENT :
-* RETURN : BOOL defined
-* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-BOOL PbSystemTimeToFileTime(const SYSTEMTIME* lp_system_time, LPFILETIME lp_file_time) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- return FALSE;
-}
-// LCOV_EXCL_STOP
-
-/**
- * Function name : MunmapDeviceIo<br>
- * Register unmapping<br>
- *
- * Overview : Remove the mapping of a register to memory.<br>
- *
- * -# Release the mapping of the specified register to memory.
- *
- * @param h_dev [I]Handle to the device object
- * @param map_size [I]Size of mapped device I/O memory
- *
- * @return RET_API Processing result
- * @retval RET_NORMAL Processing succeeded
- * @retval RET_ERROR Processing failed
- */
-/* Wait for replacement */
-RET_API MunmapDeviceIo(HANDLE h_dev, u_int32 map_size) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- return RET_NORMAL;
-// LCOV_EXCL_STOP
-}
-
-/**
- * Function name : MmapDeviceIo<br>
- * Register mapping<br>
- *
- * Overview : Map registers to memory.<br>
- *
- * -# Map the specified register to memory.
- *
- * @param map_size [I]Size of mapped device I/O memory
- * @param map_addr [I]Mapped physical address
- *
- * @return HANDLE Processing result
- * @retval Except NULL Handle
- * @retval NULL Processing failed
- */
-/* Wait for replacement */
-HANDLE MmapDeviceIo(u_int32 map_size, u_int32 map_addr) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- return RET_NORMAL;
-// LCOV_EXCL_STOP
-}
-
-/**
- * @brief
- *
- * Kill
- *
- * Exit program
- *
- * @param[in] p_func Calling function
- * @param[in] line Number of caller rows
- */
-void _pb_Exit_d(const char* p_func, int line) { // LCOV_EXCL_START 8:dead code // NOLINT(whitespace/line_length) // NOLINT(readability/nolint) WPF_SYSAPI.h API
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- int ret = -1;
-
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "FORBIDDEN ERROR [Called by:%s, Line:%d]", p_func, line);
- exit(ret);
-
- return;
-}
-// LCOV_EXCL_STOP
-
-
-/* GPF001_sample_ttaka add end */
-
diff --git a/video_in_hal/vehicleservice/positioning_base_library/library/src/_pbOther.cpp b/video_in_hal/vehicleservice/positioning_base_library/library/src/_pbOther.cpp
deleted file mode 100755
index 73ff300..0000000
--- a/video_in_hal/vehicleservice/positioning_base_library/library/src/_pbOther.cpp
+++ /dev/null
@@ -1,799 +0,0 @@
-/*
- * @copyright Copyright (c) 2016-2020 TOYOTA MOTOR CORPORATION.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * @file
- * _pbOther.cpp
- */
-
-#include <stdio.h>
-#include <unistd.h>
-#include <asm/unistd.h>
-#include <native_service/frameworkunified_types.h>
-
-#include <vehicle_service/positioning_base_library.h>
-#include "_pbInternalProc.h"
-#include <other_service/VP_GetEnv.h>
-#include "WPF_STD_private.h"
-#include "tchar.h"
-
-
-
-/*---------------------------------------------------------------------------------*
- * Define *
- *---------------------------------------------------------------------------------*/
-/* Shared memory */
-#define POS_BASE_OTHER_PROC_ID "POS_BASE_OTHER_PROC_ID"
-
-#define MAX_OTHER_PROC_NUM (32) /** Maximum number of the management information to translate the process name to PNO */
-#define MAX_NUM_CTRL_TID (16) /** Maximum number of tje TID management for thread in Process */
-
-#define OTHER_PNO_BASE (0x9000) /** Base number of local process */
-
-#define THREAD_NAME_LEN_MAX (32)
-
-#define FULL_OTHER_PROC_NUM (MAX_OTHER_PROC_NUM - 4) /** Threshold of the management information to translate the process name to PNO (no free) */
-#define WARN_OTHER_PROC_NUM (MAX_OTHER_PROC_NUM - 10) /** Threshold of the management information to translate the process name to PNO (warning) */
-
-typedef void* (*_CWORD64_PROCMNG_START_ROUTINE)(void*);
-
-/*---------------------------------------------------------------------------------*
- * Structure *
- *---------------------------------------------------------------------------------*/
-/*!
- @brief Process identification information
- */
-typedef struct {
- PNO pno; /**< Process number */
- char name[THREAD_NAME_LEN_MAX]; /**< Process name */
-} PROC_ID;
-
-/*!
- @brief Process information
- */
-typedef struct {
- PROC_ID id[MAX_OTHER_PROC_NUM]; /**< Process identification information */
- uint32_t use_cnt; /**< Used number */
- uint32_t rsv_cnt; /**< Reserved number */
-} PROC_INFO;
-
-/*---------------------------------------------------------------------------------*
- * Grobal Value *
- *---------------------------------------------------------------------------------*/
-static HANDLE g_h_app[MAX_NUM_CTRL_TID]; /** Application handle */
-static HANDLE g_h_mtx; /** Shared-information-locking Mutex handle */
-static HANDLE g_h_shm; /** Shared memory handle */ // Coverity CID: 18787 compliant
-
-static PROC_INFO* g_p_proc_id_tbl; /** Process Name-PNO Translation Table */
-
-/*---------------------------------------------------------------------------------*
- * Internal Function Prototype *
- *---------------------------------------------------------------------------------*/
-/* Process number to PNO translation table manipulation functions */
-static void OtherSetPnoOfCnvTbl(u_int32 idx, PNO pno);
-static void OtherSetNameOfCnvTbl(u_int32 idx, PCSTR name);
-static PNO OtherGetPnoOfCnvTbl(u_int32 idx);
-static PCSTR OtherGetNameOfCnvTbl(u_int32 idx);
-static u_int32 OtherSearchPnoOfCnvTbl(PNO pno);
-static u_int32 OtherSearchNameOfCnvTbl(PCSTR name);
-static void OtherIncUseCntOfCnvTbl(void);
-static void OtherIncRsvCntOfCnvTbl(void);
-static void OtherDecRsvCntOfCnvTbl(void);
-
-static void OtherCreateMutex(void);
-static void OtherDeleteMutex(void);
-static void OtherLockMutex(void);
-static void OtherUnlockMutex(void);
-
-/**
- * @brief
- * Initialize other funtion
- *
- * @return RET_NORMAL Normal completion
- */
-RET_API ErrTrapInit(void) {
- RET_API ret_api = RET_NORMAL;
- PROC_INFO **pp_tbl;
- u_int16 idx;
-
- pp_tbl = &g_p_proc_id_tbl; /* Set a pointer to a table to translate the process name to PNO */
-
- OtherCreateMutex(); /* Create Mutex for accessing shared info */
- OtherLockMutex(); /* Acquire Mutex for accessing shared info */
-
- /* Open shared memory for a table to translate the process name to PNO */
- g_h_shm = OpenSharedMemory(const_cast<char*>(POS_BASE_OTHER_PROC_ID), sizeof(PROC_INFO));
-
- /* If called for the first time within all processes, an error occurs and the following processing is performed. */
- if (g_h_shm == NULL) { // LCOV_EXCL_BR_LINE 200: can not be not NULL
- /* Create shared memory for a table to translate the name to PNO */
- g_h_shm = CreateSharedMemory(const_cast<char*>(POS_BASE_OTHER_PROC_ID), sizeof(PROC_INFO));
- /* In case of an error */
- if (g_h_shm == NULL) { // LCOV_EXCL_BR_LINE 200: can not be NULL
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "_pb_CreateShareData ERROR " \
- "[g_h_shm:%p]", g_h_shm);
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- _pb_Exit(); // // LCOV_EXCL_LINE 200: can not be NULL
- /* don't arrive here. */
- }
- }
-
- OtherUnlockMutex(); /* Release Mutex for accessing shared info */
-
- /* Set the acquired shared memory address as a pointer for a table to translate the process name to PNO */
- *pp_tbl = reinterpret_cast<PROC_INFO*>(GetSharedMemoryPtr(g_h_shm));
-
- /* Table initialization */
- for (idx = 0; idx < MAX_OTHER_PROC_NUM; idx++) {
- /* Set PNO into the table to translate the process name to PNO (Overwrite from the second process onwards) */
- OtherSetPnoOfCnvTbl(idx, static_cast<PNO>(OTHER_PNO_BASE + idx));
- }
-
- return ret_api;
-}
-
-/**
- * @brief
- * Terminate other function
- */
-void ErrTrapTerm(void) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- CloseSharedMemory(g_h_shm);
-
- OtherDeleteMutex();
-}
-// LCOV_EXCL_STOP
-
-/**
- * @brief
- * Create Thread
- *
- * @param[in] lp_thread_attributes Not used
- * @param[in] dw_stack_size Initial stack size
- * @param[in] lp_start_address Address of the effective function of the thread
- * @param[in] lp_parameter Thread arguments
- * @param[in] dw_creation_flags Not used
- * @param[in] lp_thread_id Thread identifier
- * @param[in] pno PNO
- * @param[in] priority Thread priority
- *
- * @return Non-zero:Normal status, 0:When an error occurs
- */
-HANDLE _pb_CreateThread(LPSECURITY_ATTRIBUTES lp_thread_attributes, DWORD dw_stack_size, LPTHREAD_START_ROUTINE lp_start_address, LPVOID lp_parameter, DWORD dw_creation_flags, LPDWORD lp_thread_id, PNO pno, int32 priority) { // LCOV_EXCL_START 8:dead code // NOLINT(whitespace/line_length)
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- pthread_attr_t st_thread_attr;
- pthread_t ul_thread_id = 0;
- sched_param st_thread_param = {0};
- HANDLE handle = NULL;
- int32 lret = EOK;
- BOOL bret = FALSE;
-
- /* null check */
- if (lp_thread_id == NULL) {
- // no op
- } else {
- /* Initializing Attributes */
- lret = pthread_attr_init(&st_thread_attr);
-
- /* When the attribute initialization is successful */
- if (lret == EOK) {
- /* Do not inherit parent scheduling policies */
- lret = pthread_attr_setinheritsched(&st_thread_attr, PTHREAD_EXPLICIT_SCHED);
- }
-
- /* If you successfully configure policy inheritance */
- if (lret == EOK) {
- /* Scheduling settings */
- lret = pthread_attr_setschedpolicy(&st_thread_attr, SCHED_RR);
- }
-
- /* Successful Scheduling settings */
- if (lret == EOK) {
- /* Create a thread with the lowest priority so that the spawned thread */
- /* do not run until they are ready for processing */
- st_thread_param.sched_priority = 1;
- lret = pthread_attr_setschedparam(&st_thread_attr, &st_thread_param);
- }
-
- /* If the priority setting is successful */
- if (lret == EOK) {
- lret = pthread_create(&ul_thread_id,
- NULL,
- (_CWORD64_PROCMNG_START_ROUTINE)lp_start_address,
- lp_parameter);
- }
-
- /* Successful pthread_create */
- if (lret == EOK) {
- bret = TRUE;
- }
- }
-
- /* When priority setting is successful */
- if (bret != FALSE) {
- /* Return value setting */
- handle = (HANDLE)ul_thread_id;
- *lp_thread_id = ul_thread_id;
- } else {
- /* Error log output */
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "lret ERROR [lret:%d]", lret);
- }
-
- return handle;
-}
-// LCOV_EXCL_STOP
-
-/**
- * @brief
- * Get the thread ID
- *
- * @return Thread ID
- */
-uint32_t PbGetTid(void) {
- uint32_t ul_tid;
-
- ul_tid = (uint32_t)syscall(__NR_gettid);
-
- return ul_tid;
-}
-
-/**
- * @brief
- * Get the local thread ID
- *
- * Local thread ID = [0, 1, 2, ...]<br>
- * The local thread ID is unique in the process, and dynamically assigned in the order in which <br>
- * this API was called during the process execution. <br>
- *
- * @return Local thread ID
- */
-uint32_t PbGetLocalTid(void) {
- static uint32_t g_tid[MAX_NUM_CTRL_TID] = {0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
- 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
- 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
- 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
- }; /** In-process thread ID management table */
-
- uint32_t ul_tid;
- uint32_t ul_idx;
- uint32_t ul_local_tid = 0xFFFFFFFF;
-
- ul_tid = PbGetTid();
-
- OtherLockMutex(); /* Get Mutex for accessing shared info */
-
- for (ul_idx = 0; ul_idx < MAX_NUM_CTRL_TID; ul_idx++) {
- if (g_tid[ul_idx] == ul_tid) {
- ul_local_tid = ul_idx;
- }
- }
-
- if (ul_local_tid == 0xFFFFFFFF) {
- for (ul_idx = 0; ul_idx < MAX_NUM_CTRL_TID; ul_idx++) {
- if (g_tid[ul_idx] == 0xFFFFFFFF) {
- g_tid[ul_idx] = ul_tid;
- ul_local_tid = ul_idx;
-
- break;
- }
- }
-
- if (ul_local_tid == 0xFFFFFFFF) {
- /* forbidden */
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "Local Tid buffer is overfull!!");
- _pb_Exit();
-
- /* don't arrive here. */
- }
- }
-
- OtherUnlockMutex(); /* Release Mutex for accessing shared info */
-
- return ul_local_tid;
-}
-
-
-/**
- * @brief
- * Get Application Handle
- *
- * Get the application handle of the invoking thread.
- *
- * @return Non-zero:Normal status, 0:When an error occurs
- */
-HANDLE _pb_GetAppHandle(void) { // NOLINT(readability/nolint) WPF_SYSAPI.h API
- const uint32_t offset = PbGetLocalTid();
-
- return g_h_app[offset];
-}
-
-
-/**
- * @brief
- * Set Application Handle
- *
- * Set the application handle of the invoking thread.
- *
- * @param[in] name Process name
- */
-void _pb_SetAppHandle(HANDLE h_app) { // NOLINT(readability/nolint) WPF_SYSAPI.h API
- const uint32_t offset = PbGetLocalTid();
-
- OtherLockMutex(); /* Get Mutex for accessing shared info */
-
- g_h_app[offset] = h_app;
-
- OtherUnlockMutex(); /* Release Mutex for accessing shared info */
-
- return;
-}
-
-
-/**
- * @brief
- * Convert process name to pno
- *
- * Translate process name to PNO.<br>
- * If the process name specified in the argument is the first name to <br>
- * be translated by this API, a new PNO is assigned and returned. <br>
- * If NULL is specified, 0 is returned.
- *
- * @param[in] name Process name
- *
- * @return Process number
- */
-PNO _pb_CnvName2Pno(PCSTR name) { // NOLINT(readability/nolint) WPF_SYSAPI.h API
- u_int32 idx;
- PNO pno = 0;
- size_t len;
-
- /* null check */
- if (name == NULL) {
- pno = 0;
- } else {
- len = _tcslen(name);
- if (len >= THREAD_NAME_LEN_MAX) {
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "Argument ERROR!! " \
- "Length of thread name is too long(>=%d). [len:%zu]", THREAD_NAME_LEN_MAX, len);
- } else {
- OtherLockMutex();
-
- idx = OtherSearchNameOfCnvTbl(name);
-
- if (idx != MAX_OTHER_PROC_NUM) {
- pno = OtherGetPnoOfCnvTbl(idx);
- } else {
- idx = OtherSearchNameOfCnvTbl("");
- OtherSetNameOfCnvTbl(idx, name);
- /* Increment using-counter */
- OtherIncUseCntOfCnvTbl();
- pno = OtherGetPnoOfCnvTbl(idx);
- }
-
- OtherUnlockMutex();
- }
- }
-
- return pno;
-}
-
-/**
- * @brief
- * Convert pno to process name
- *
- * Translate PNO to the process name.
- * Return the process name set by _pb_CnvName2Pno to the PNO argument.
- * If a non-PNO value is given by _pb_CnvName2Pno is specified,
- * NULL is returned.
- *
- * @param[in] pno Process number
- *
- * @return Process name
- */
-PCSTR _pb_CnvPno2Name(PNO pno) { // NOLINT(readability/nolint) WPF_SYSAPI.h API
- u_int32 idx;
- PCSTR name = NULL;
-
- OtherLockMutex();
-
- idx = OtherSearchPnoOfCnvTbl(pno);
-
- if (idx != MAX_OTHER_PROC_NUM) {
- name = OtherGetNameOfCnvTbl(idx);
- }
-
- OtherUnlockMutex();
-
- return name;
-}
-
-
-/**
- * @brief
- * Get environment variables
- *
- * @param[in] Environment variable name
- * @param[in] Pointer to environment variable value
- */
-void GetEnv(const char* p_env_str, char* p_env_buff) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- VP_GetEnv(p_env_str, p_env_buff);
-
- FRAMEWORKUNIFIEDLOG(ZONE_INFO, __FUNCTION__, "VP_GetEnv:%s=%s", p_env_str, p_env_buff);
-
- return;
-}
-// LCOV_EXCL_STOP
-
-/*---------------------------------------------------------------------------------*
- * Local Function *
- *---------------------------------------------------------------------------------*/
-/**
- * @brief
- * PNO setting(The table to translate the process name to PNO)
- *
- * If an invalid value is specified for an argument, the system assumes that it is a design problem and calls _pb_Exit().
- *
- * @param[in] u_int32 idx Table accessor
- * @param[in] PNO pno Process number
- *
- * @return none
- */
-static void OtherSetPnoOfCnvTbl(u_int32 idx, PNO pno) {
- /* check index */
- if (idx >= MAX_OTHER_PROC_NUM) { // LCOV_EXCL_BR_LINE 6: idx cannot greater
- /* forbidden */
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "Argment ERROR [idx:%d, pno:%d]", idx, pno);
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- _pb_Exit(); // LCOV_EXCL_LINE 6: idx cannot greater
- /* don't arrive here. */
- }
-
- g_p_proc_id_tbl->id[idx].pno = pno;
-
- return;
-}
-
-/**
- * @brief
- * Set process name (The table to translate the process name to PNO)
- *
- * If an invalid value is specified for an argument, the system assumes that it is a design problem and calls _pb_Exit().
- *
- * @param[in] u_int32 idx Table accessor
- * @param[in] PCSTR name Process name
- *
- * @return none
- */
-static void OtherSetNameOfCnvTbl(u_int32 idx, PCSTR name) {
- /* check index */
- if (idx >= MAX_OTHER_PROC_NUM) { // LCOV_EXCL_BR_LINE 6: idx cannot greater
- /* forbidden */
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "Argment ERROR [idx:%d, name:%s]", idx, name);
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- _pb_Exit(); // LCOV_EXCL_LINE 6: idx cannot greater
- /* don't arrive here. */
- } else {
- _tcscpy(g_p_proc_id_tbl->id[idx].name, name);
- }
-
- return;
-}
-
-/**
- * @brief
- * Get PNO (The table to translate the process name to PNO)
- *
- * If an invalid value is specified for an argument, the system assumes that it is a design problem and calls _pb_Exit().
- *
- * @param[in] u_int32 idx Table accessor
- *
- * @return PNO
- */
-static PNO OtherGetPnoOfCnvTbl(u_int32 idx) {
- /* check index */
- if (idx >= MAX_OTHER_PROC_NUM) { // LCOV_EXCL_BR_LINE 6: idx cannot greater
- /* forbidden */
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "Argment ERROR [idx:%d]", idx);
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- _pb_Exit(); // LCOV_EXCL_LINE 6: idx cannot greater
- /* don't arrive here. */
- }
-
- return g_p_proc_id_tbl->id[idx].pno;
-}
-
-/**
- * @brief
- * Get process name (The table to translate the process name to PNO)
- *
- * If an invalid value is specified for an argument, the system assumes that it is a design problem and calls _pb_Exit().
- *
- * @param[in] u_int32 idx Table accessor
- *
- * @return PCSTR
- */
-static PCSTR OtherGetNameOfCnvTbl(u_int32 idx) {
- /* check index */
- if (idx >= MAX_OTHER_PROC_NUM) { // LCOV_EXCL_BR_LINE 6: idx cannot greater
- /* forbidden */
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "Argment ERROR [idx:%d]", idx);
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- _pb_Exit(); // LCOV_EXCL_LINE 6: idx cannot greater
- /* don't arrive here. */
- }
-
- return g_p_proc_id_tbl->id[idx].name;
-}
-
-/**
- * @brief
- * Retrieve PNO (The table to translate the process name to PNO)
- *
- * If the PNO specified in the argument exists in the table, return the index for access.
- * If not exists, return the maximum number of local PNO controls (MAX_OTHER_PROC_NUM).
- *
- * @param[in] PNO pno Process number
- *
- * @return u_int32 Table accessor
- */
-static u_int32 OtherSearchPnoOfCnvTbl(PNO pno) {
- u_int32 idx;
- PNO lPno;
-
- for (idx = 0; idx < MAX_OTHER_PROC_NUM; idx++) {
- lPno = OtherGetPnoOfCnvTbl(idx);
-
- if (lPno == pno) {
- break;
- }
- }
-
- return idx;
-}
-
-/**
- * @brief
- * Retrieve process name (The table to translate the process name to PNO)
- *
- * If the process specified by the argument exists in the table, return the index for access.
- * If not exists, return the maximum number of local PNO controls (MAX_OTHER_PROC_NUM).
- *
- * @param[in] PCSTR name Process name
- *
- * @return u_int32 Table accessor
- */
-static u_int32 OtherSearchNameOfCnvTbl(PCSTR name) {
- int32 ret;
- u_int32 idx;
-
- for (idx = 0; idx < MAX_OTHER_PROC_NUM; idx++) {
- ret = _tcscmp(g_p_proc_id_tbl->id[idx].name, name);
-
- /* If there is a match */
- if (ret == 0) {
- break;
- }
- }
-
- return idx;
-}
-
-
-/**
- * @brief
- * Create Mutex for accessing shared info
- *
- * @param[in] none
- *
- * @return none
- */
-static void OtherCreateMutex(void) {
- g_h_mtx = _pb_CreateMutex(NULL, 0, "Other_Mutex");
- if (g_h_mtx == NULL) {
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "_pb_CreateMutex ERROR [g_h_mtx:%p]", g_h_mtx);
- _pb_Exit();
- /* don't arrive here. */
- }
-
- return;
-}
-
-/**
- * @brief
- * Delete Mutex for accessing shared info
- *
- * @param[in] none
- *
- * @return none
- */
-static void OtherDeleteMutex(void) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- DWORD ret;
- ret = PbDeleteMutex(g_h_mtx);
- if (ret != WAIT_OBJECT_0) {
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "PbDeleteMutex ERROR " \
- "[ret:%lu, g_h_mtx:%p]", ret, g_h_mtx);
- _pb_Exit();
- /* don't arrive here. */
- }
-
- return;
-}
-// LCOV_EXCL_STOP
-
-/**
- * @brief
- * Get Mutex for accessing shared info
- *
- * @param[in] none
- *
- * @return none
- */
-static void OtherLockMutex(void) {
- DWORD ret;
- ret = PbMutexLock(g_h_mtx, INFINITE);
- if (ret != WAIT_OBJECT_0) {
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "PbMutexLock ERROR " \
- "[ret:%lu, g_h_mtx:%p]", ret, g_h_mtx);
- _pb_Exit();
- /* don't arrive here. */
- }
-
- return;
-}
-
-/**
- * @brief
- * Open Mutex for Accessing Shared Info
- *
- * @param[in] none
- *
- * @return none
- */
-static void OtherUnlockMutex(void) {
- BOOL ret;
- ret = PbMutexUnlock(g_h_mtx);
- if (ret != TRUE) {
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "PbMutexUnlock ERROR " \
- "[ret:%d, g_h_mtx:%p]", ret, g_h_mtx);
- _pb_Exit();
- /* don't arrive here. */
- }
-
- return;
-}
-
-/**
- * @brief
- * Get dump information
- *
- * @param[out] pBuf Dump info
- */
-void _pb_GetDebugOtherMngTbl(void* pBuf) {
- static uint8_t buf[DEBUG_DUMP_MAX_SIZE];
- static uint8_t bufTmp[64];
- uint32_t i;
-
- if (pBuf != NULL) {
- memset(&buf[0], 0x00, sizeof(buf));
- snprintf(reinterpret_cast<char *>(&buf[0]), sizeof(buf), "Other");
- if (g_p_proc_id_tbl == NULL) { // LCOV_EXCL_BR_LINE 200: g_p_proc_id_tbl can not be NULL
- // LCOV_EXCL_START 200: g_p_proc_id_tbl can not be NULL
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- strncat(reinterpret_cast<char *>(&buf[0]), "\n NULL", strlen("\n NULL"));
- // LCOV_EXCL_STOP
- } else {
- for (i = 0; i < MAX_OTHER_PROC_NUM; i++) {
- memset(&bufTmp[0], 0x00, sizeof(bufTmp));
- snprintf(reinterpret_cast<char *>(&bufTmp[0]), sizeof(bufTmp),
- "\n [%02d] pno:0x%04x, name:%s",
- i,
- g_p_proc_id_tbl->id[i].pno,
- g_p_proc_id_tbl->id[i].name);
- strncat(reinterpret_cast<char *>(&buf[0]), reinterpret_cast<char *>(&bufTmp[0]), \
- strlen(reinterpret_cast<char *>(&bufTmp[0])));
- }
- }
- memcpy(pBuf, &buf[0], sizeof(buf));
- }
-}
-
-/**
- * @brief
- * Increment the usage counter of the table to translate process name to PNO
- *
- * @param[in] none
- */
-static void OtherIncUseCntOfCnvTbl(void) {
- g_p_proc_id_tbl->use_cnt++;
- return;
-}
-
-/**
- * @brief
- * Increment the counter to reserve the table to translate the process name to PNO
- *
- * @param[in] none
- */
-static void OtherIncRsvCntOfCnvTbl(void) {
- g_p_proc_id_tbl->rsv_cnt++;
- return;
-}
-
-/**
- * @brief
- * Decrement the counter to reserve the table to translate the process name to PNO
- *
- * @param[in] none
- */
-static void OtherDecRsvCntOfCnvTbl(void) {
- g_p_proc_id_tbl->rsv_cnt--;
- return;
-}
-
-/**
- * @brief
- * Determine resources ready (The table to translate the process name to PNO)
- *
- * @param[in] none
- *
- * @return BOOL
- * @retval TRUE : Normal
- * @retval FALSE : Error (Resource shortage)
- */
-BOOL _pb_GetOtherResource(void) {
- BOOL ret = TRUE;
- uint32_t cnt;
-
- OtherLockMutex();
-
- /* Increment reserved counter */
- OtherIncRsvCntOfCnvTbl();
-
- cnt = g_p_proc_id_tbl->use_cnt + g_p_proc_id_tbl->rsv_cnt;
- if (cnt >= FULL_OTHER_PROC_NUM) {
- ret = FALSE;
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "Lack of resources " \
- "[FATAL][use_cnt:%d rsv_cnt:%d]", g_p_proc_id_tbl->use_cnt, g_p_proc_id_tbl->rsv_cnt);
- } else if (cnt >= WARN_OTHER_PROC_NUM) {
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "Lack of resources " \
- "[WARN][use_cnt:%d rsv_cnt:%d]", g_p_proc_id_tbl->use_cnt, g_p_proc_id_tbl->rsv_cnt);
- }
-
- OtherUnlockMutex();
-
- return ret;
-}
-
-/**
- * @brief
- * Release resources (The table to translate process name to PNO)
- *
- * @param[in] none
- *
- * @return none
- */
-void _pb_ReleaseOtherResource(void) {
- OtherLockMutex();
-
- /* Decrement reserved counter */
- OtherDecRsvCntOfCnvTbl();
-
- OtherUnlockMutex();
-
- return;
-}
diff --git a/video_in_hal/vehicleservice/positioning_base_library/library/src/_pbProcMng.cpp b/video_in_hal/vehicleservice/positioning_base_library/library/src/_pbProcMng.cpp
deleted file mode 100755
index e8d9601..0000000
--- a/video_in_hal/vehicleservice/positioning_base_library/library/src/_pbProcMng.cpp
+++ /dev/null
@@ -1,207 +0,0 @@
-/*
- * @copyright Copyright (c) 2016-2020 TOYOTA MOTOR CORPORATION.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- File name : _pbProcMng.cpp
- System name :
- Subsystem name :
- Title :
-* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-
-#include <fcntl.h>
-#include <sys/procfs.h>
-#include <vehicle_service/positioning_base_library.h>
-#include "WPF_STD_private.h"
-#include "_pbInternalProc.h"
-#include "_pbWaitforsingleobject.h"
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : ExitProcess
- * ABSTRACT : Terminate one process and all threads belonging to that process.
- * NOTE :
- * ARGUMENT :
- * RETURN : VOID defined
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-VOID ExitProcess(UINT u_exit_code) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- exit(u_exit_code);
-}
-// LCOV_EXCL_STOP
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : GetCurrentProcess
- * ABSTRACT : Get a pseudo handle for the current process.
- * NOTE :
- * ARGUMENT :
- * RETURN : HANDLE defined
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-/* QAC 3460 */
-HANDLE GetCurrentProcess(void) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- return reinterpret_cast<HANDLE>(getpid());
-}
-// LCOV_EXCL_STOP
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : GetCurrentProcessId
- * ABSTRACT : Get the process identifier of the calling process.
- * NOTE :
- * ARGUMENT :
- * RETURN : DWORD defined
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-/* QAC 3460 */
-DWORD GetCurrentProcessId(void) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- return (DWORD)getpid();
-}
-// LCOV_EXCL_STOP
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : _pb_ExitThread
- * ABSTRACT : Terminate a thread
- * NOTE :
- * ARGUMENT :
- * RETURN : VOID defined
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-VOID _pb_ExitThread(DWORD dw_exit_code) { // LCOV_EXCL_START 8:dead code // NOLINT(whitespace/line_length) // NOLINT(readability/nolint) WPF_SYSAPI.h API
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- /* Delete handle type */
- WaitObjectDel(reinterpret_cast<HANDLE*>(pthread_self()));
-
- return pthread_exit (reinterpret_cast<void*>(dw_exit_code));
-}
-// LCOV_EXCL_STOP
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : TerminateThread
- * ABSTRACT : Terminate a thread
- * NOTE :
- * ARGUMENT :
- * RETURN : BOOL defined
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-BOOL TerminateThread(HANDLE h_thread, DWORD dw_exit_code) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- int32 lret = EOK;
- BOOL bret = TRUE;
-
- /* Delete handle type */
- WaitObjectDel(h_thread);
-
- /* When an error occurs */
- if (lret == EOK) {
- bret = FALSE;
- }
-
- return bret;
-}
-// LCOV_EXCL_STOP
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : GetExitCodeThread
- * ABSTRACT : Get the exit status of the specified thread.
- * NOTE :
- * ARGUMENT :
- * RETURN : BOOL defined
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-BOOL GetExitCodeThread(HANDLE h_thread, LPDWORD lp_exit_code) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- return TRUE;
-}
-// LCOV_EXCL_STOP
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : WaitExitThread
- * ABSTRACT : Wait for the thread to terminate.
- * NOTE : It can only be used for a thread in the same process according to PosixBasedOS001.
- * ARGUMENT :
- * RETURN : BOOL defined
- * RET_NORMAL : Normal completion
- * RET_ERROR : ABEND
- * RET_ERRTIMEOUT : Timeout occurred
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-RET_API WaitExitThread(HANDLE h_handle, u_int32 ul_mill_seconds, u_int32* pul_exit_code) { // LCOV_EXCL_START 8:dead code // NOLINT(whitespace/line_length)
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- return RET_NORMAL; /* Coverity CID: 18759 compliant */
-}
-// LCOV_EXCL_STOP
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : GetCurrentThread
- * ABSTRACT : Get a pseudo handle for the current thread.
- * NOTE :
- * ARGUMENT :
- * RETURN : HANDLE defined
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-/* QAC 3460 */
-HANDLE GetCurrentThread(void) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- return (HANDLE)pthread_self();
-}
-// LCOV_EXCL_STOP
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : GetCurrentThreadId
- * ABSTRACT : Get the thread identifier of the calling thread.
- * NOTE :
- * ARGUMENT :
- * RETURN : DWORD defined
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-/* QAC 3460 */
-DWORD GetCurrentThreadId(void) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- return (DWORD)pthread_self();
-}
-// LCOV_EXCL_STOP
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : GetThreadTimes
- * ABSTRACT : Get time information about the specified thread.
- * NOTE :
- * ARGUMENT :
- * RETURN : BOOL defined
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-BOOL GetThreadTimes(HANDLE h_process, HANDLE h_thread, LPFILETIME lp_creation_time, LPFILETIME lp_exit_time, LPFILETIME lp_kernel_time, LPFILETIME lp_user_time) { // LCOV_EXCL_START 8:dead code // NOLINT(whitespace/line_length)
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- return TRUE; /* Coverity CID: 18765 compliant */
-}
-// LCOV_EXCL_STOP
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : ResumeThread
- * ABSTRACT : Decrease the thread suspend count by 1.
- * NOTE : Always return 0 because no suspend operation is supported according to PosixBasedOS001.
- * ARGUMENT :
- * RETURN : DWORD defined
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-DWORD ResumeThread(HANDLE h_thread) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- return 0;
-}
-// LCOV_EXCL_STOP
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : SuspendThread
- * ABSTRACT : Suspend execution of the specified thread.
- * NOTE : Always return 0 because no suspend operation is supported according to PosixBasedOS001.
- * ARGUMENT :
- * RETURN : DWORD defined
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-DWORD SuspendThread(HANDLE h_thread) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- return 0;
-}
-// LCOV_EXCL_STOP
-
diff --git a/video_in_hal/vehicleservice/positioning_base_library/library/src/_pbSem.cpp b/video_in_hal/vehicleservice/positioning_base_library/library/src/_pbSem.cpp
deleted file mode 100755
index 1264d79..0000000
--- a/video_in_hal/vehicleservice/positioning_base_library/library/src/_pbSem.cpp
+++ /dev/null
@@ -1,780 +0,0 @@
-/*
- * @copyright Copyright (c) 2016-2020 TOYOTA MOTOR CORPORATION.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * @file
- * _pbSem.cpp
- */
-
-#include <vehicle_service/positioning_base_library.h>
-#include "_pbInternalProc.h"
-#include "WPF_STD_private.h"
-#include "tchar.h"
-
-/*
- Constants and structure definitions
-* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-#define MAX_PB_SEMAPHORES 256
-#define MAX_SEMAPHORE_NAME_LEN 32
-#define MAX_PB_SEMAPHORES_INPROC 16
-
-/* Name storage table */
-typedef struct {
- TCHAR semaphore_name[MAX_SEMAPHORE_NAME_LEN + 1]; /* Semaphore name(Specified name of the user APP) */
- DWORD ref_counter; /* Reference Counter (Currently unused, always 1) */
-} PB_SEMAPHORE;
-
-/* Control information storage table */
-typedef struct {
- HANDLE h_heap; /* Handle of the heap area allocated for expanding the self TBL (control-information-storage TBL) */
- PB_SEMAPHORE* p_sys_semaphore; /* Address where the self name in the name storage table is stored (Top address of self name) */
- DWORD index; /* Semaphore ID that is equal to the index of self TBL (control information strage TBL:p_handle_table) + 1 */
- HANDLE h_semaphore; /* Semaphore handle (Semaphore or Mutex according to the above DEBUG defines) */
- HANDLE h_mutex; /* Mutex handle for locking when updating the self TBL (control information storage TBL) */
-} PB_SEMAPHORE_OPEN_HANDLE;
-
-/* Semaphore information management table */
-typedef struct {
- PB_SEMAPHORE_OPEN_HANDLE* p_handle_table[MAX_PB_SEMAPHORES]; /* Pointer to control information storage table */
- HANDLE h_shared_memory; /* Handle of shared memory allocated for name storage table to expand */
- HANDLE h_mutex; /* Mutex handle to lock when updating the name storage table */
- PB_SEMAPHORE* p_semaphore_table; /* Pointer to the name storage table (Allocate as many areas as the maximum number of registrations in shared memory)*/
-} PB_SEMAPHORE_INSTANCE;
-
-typedef struct /* In-process semaphore management table */ {
- char semaphore_name[MAX_SEMAPHORE_NAME_LEN]; /* Semaphore name (Specified name of the user APP) */
- HANDLE h_heap; /* Heap handle of critical section structure area */
- CRITICAL_SECTION *p_cs; /* Critical section pointer(Semaphore ID) */
-} PB_SEM_INPROC;
-
-/*
- Internal function prototype declarations
-* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-static DWORD FindSemaphoreTable(PB_SEMAPHORE* p_semaphore_table, TCHAR* name, HANDLE h_mutex);
-static DWORD AllocNewSemaphoreTable(PB_SEMAPHORE* p_semaphore_table, TCHAR* name, HANDLE h_mutex);
-static void FreeSemaphoreTable(PB_SEMAPHORE* p_semaphore_table, int index, HANDLE h_mutex);
-
-/*
- Global variable definitions
-* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-static PB_SEMAPHORE_INSTANCE g_instance; // NOLINT(readability/nolint) global class instance
-/* CS for exclusive control of in-process semaphore management table */
-CRITICAL_SECTION g_sem_in_proc_tbl_mng_cs;
-/* Pointer to the in-process semaphore management table */
-PB_SEM_INPROC *g_p_sem_in_proc_mng = NULL;
-
-/*
- * Inline functions.
- */
-inline void
-MakeSemaphoreName(TCHAR* name, DWORD index) {
- wsprintf(name, __TEXT("POS_BASE_SEMAPHORE_SEM%05d"), static_cast<int32>(index));
-}
-inline void
-MakeMutexName(TCHAR* name, DWORD index) {
- wsprintf(name, __TEXT("POS_BASE_SEMAPHORE_MUTEX%05d"), static_cast<int32>(index));
-}
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : SemaphoreInit
- * ABSTRACT : Semaphore initialization processing
- * NOTE : This function is called when _CWORD64_api.dll is ATTACH from processes
- * : and initializes the process.
- * ARGUMENT : None
- * RETURN : RET_API RET_NORMAL Normal completion
- * RET_ERRINIT ABEND
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-RET_API
-SemaphoreInit(void) {
- RET_API ret_api = RET_NORMAL;
- PB_SEMAPHORE_INSTANCE *p_inst = &g_instance;
- TCHAR name[32] = {0};
- DWORD semaphore_table_size = 0;
- int32 n = 0;
- PB_SEMAPHORE *p_semaphore_table = NULL;
- BOOL b_create = FALSE;
-
- /* Initialize the semaphore information management table */
- for (n = 0; n < MAX_PB_SEMAPHORES; n++) {
- p_inst->p_handle_table[n] = NULL; /* NULL initialize the control data storage table */
- }
-
- /* Initialize the semaphore name storage table */
- _tcscpy(name, __TEXT("POS_BASE_SEMAPHORE_TABLE"));
- semaphore_table_size = sizeof(PB_SEMAPHORE) * MAX_PB_SEMAPHORES;
- /* Open shared memory with the name _CWORD64__SEMAPHORE_TABLE */
- p_inst->h_shared_memory = OpenSharedMemory(name, semaphore_table_size);
- if (p_inst->h_shared_memory == NULL) /* If shared memory does not exist */ {
- /* Create a shared memory with the name _CWORD64__SEMAPHORE_TABLE */
- p_inst->h_shared_memory = CreateSharedMemory(name, semaphore_table_size);
- if (p_inst->h_shared_memory == NULL) /* If shared memory creation fails */ {
- ret_api = RET_ERRINIT; /* Ends in error */
- } else {
- b_create = TRUE; /* Create shared memory */
-
- /* Allocate the created shared memory to the semaphore name storage table and initialize it. */
- // LCOV_EXCL_BR_START 200: cannot be null
- p_semaphore_table = reinterpret_cast<PB_SEMAPHORE*>(GetSharedMemoryPtr(p_inst->h_shared_memory));
- // LCOV_EXCL_BR_STOP
- if (p_semaphore_table == NULL) { // LCOV_EXCL_BR_LINE 200: cannot be null
- // LCOV_EXCL_START 200: cannot be null
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- CloseSharedMemory(p_inst->h_shared_memory);
- DeleteSharedMemory(name);
- ret_api = RET_ERRINIT; /* Ends in error */
- // LCOV_EXCL_STOP
- } else {
- for (n = 0; n < MAX_PB_SEMAPHORES; n++) {
- p_semaphore_table[n].semaphore_name[0] = __TEXT('\0'); /* Initialize name */
- p_semaphore_table[n].ref_counter = 0; /* Initialize reference counter */
- }
- }
- }
- }
-
- if (ret_api == RET_NORMAL) {
- /* Save the address of the shared memory to the name storage table pointer of the semaphore information management table. */
- // LCOV_EXCL_BR_START 200: cannot be null
- p_inst->p_semaphore_table = reinterpret_cast<PB_SEMAPHORE*>(GetSharedMemoryPtr(p_inst->h_shared_memory));
- // LCOV_EXCL_BR_STOP
- if (p_inst->p_semaphore_table == NULL) { // LCOV_EXCL_BR_LINE 200: cannot be null
- // LCOV_EXCL_START 200: cannot be null
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- CloseSharedMemory(p_inst->h_shared_memory);
- if (b_create != FALSE) {
- DeleteSharedMemory(name);
- }
- ret_api = RET_ERRINIT; /* Ends in error */
- // LCOV_EXCL_STOP
- } else {
- /* Mutex creation process for semaphore-information-management table */
- _tcscpy(name, __TEXT("POS_BASE_SEMAPHORE_MUTEX"));
- /* Save the handle of the created Mutex in the Mutex handles for semaphore-information-management-table */
- p_inst->h_mutex = _pb_CreateMutex(NULL, FALSE, name); // LCOV_EXCL_BR_LINE 200: can not be null
- if (p_inst->h_mutex == NULL) { /* Failed to create a Mutex. */ // LCOV_EXCL_BR_LINE 200: can not be null
- // LCOV_EXCL_START 200: can not be null
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "_CWORD64_api.dll:%s:LINE %d\r\n CreateMutex ERROR " \
- "In SemaphoreInit\r\n", LTEXT(__FILE__), __LINE__);
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, " Mutex_Name : %s\r\n", name);
- _pb_Exit();
- // LCOV_EXCL_STOP
- }
- }
- }
-
- return ret_api;
-}
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : SemaphoreTerm
- * ABSTRACT : Semaphore function termination processing
- * NOTE : Called when the process ATTACH to _CWORD64_api.dll terminates, and then terminated.
- * ARGUMENT : None
- * RETURN : RET_API RET_NORMAL Always this value
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-RET_API
-SemaphoreTerm(void) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- PB_SEMAPHORE_INSTANCE *p_inst = &g_instance;
-
- if (p_inst->h_mutex != NULL) {
- PbDeleteMutex(p_inst->h_mutex);
- p_inst->h_mutex = NULL;
- }
-
- if (p_inst->h_shared_memory != NULL) {
- CloseSharedMemory(p_inst->h_shared_memory);
- p_inst->h_shared_memory = NULL;
- }
-
- return RET_NORMAL;
-}
-// LCOV_EXCL_STOP
-
-/**
- * @brief
- * Create Semaphore
- *
- * Create a semaphore and return a semaphore ID.<br>
- * For a semaphore that has already been created, return the same value of the semaphore ID when it has been created.
- *
- * @param[in] *sem_name Pointer to the semaphore name string to be created (NULL termination)
- *
- * @return Semaphore ID created other than 0<br>
- * 0 ABEND to create semaphore
- */
-#ifdef _CWORD64_API_DOES_NOT_USE_UNICODE
-SemID _pb_CreateSemaphore(char* sem_name) // NOLINT(readability/nolint) WPF_SYSAPI.h API
-#else
-SemID _pb_CreateSemaphore(TCHAR* sem_name) // NOLINT(readability/nolint) WPF_SYSAPI.h API
-#endif // _CWORD64_API_DOES_NOT_USE_UNICODE
-{
- SemID ret_sem_id = 0;
- TCHAR *p_semaphore_name = NULL;
- PB_SEMAPHORE_INSTANCE *p_inst = &g_instance;
- TCHAR name[MAX_SEMAPHORE_NAME_LEN + 1] = {0};
- PB_SEMAPHORE_OPEN_HANDLE *p_semaphore_open = NULL;
- DWORD index = 0;
-
- /* Check if the semaphore name is NULL */
- if (sem_name == NULL) {
- } else {
- p_semaphore_name = sem_name;
-
- /* Check if the semaphore name is specified */
- if (p_semaphore_name[0] == __TEXT('\0')) {
- } else if (_tcslen(p_semaphore_name) > MAX_SEMAPHORE_NAME_LEN) {
- /* Check whether the semaphore name is less than or equal to the maximum number of characters */
- } else {
- /* Allocate Heap control information storage table area to create a semaphore */
- p_semaphore_open = reinterpret_cast<PB_SEMAPHORE_OPEN_HANDLE *>(PbProcessHeapAlloc(0, \
- sizeof(PB_SEMAPHORE_OPEN_HANDLE))); // LCOV_EXCL_BR_LINE 200: no branch
- }
-
- if (p_semaphore_open != NULL) {
- PbMutexLock(p_inst->h_mutex, INFINITE); /* Mutex Lock from here */ // LCOV_EXCL_BR_LINE 200: no branch // NOLINT(whitespace/line_length)
-
- /* Retrieve the name storage table expanded in the shared memory with the user-specified name. */
- index = FindSemaphoreTable(p_inst->p_semaphore_table, p_semaphore_name, p_inst->h_mutex);
- if (index != ((DWORD) - 1)) {
- /* The semaphore name specified for the user already exists. */
- /* Check if the control information storage table exists */
- if (p_inst->p_handle_table[index] != NULL) {
- /* If the control information storage TBL exists,(If it has already been created by this process) */
- /* release the previously allocated Heap because it is not needed. */
- PbProcessHeapFree(0, p_semaphore_open); // LCOV_EXCL_BR_LINE 200: no branch
- /* Retrieve the pointer to the TBL storing the existing control information. */
- p_semaphore_open = p_inst->p_handle_table[index];
- PbMutexUnlock(p_inst->h_mutex); /* Mutex release */ // LCOV_EXCL_BR_LINE 200: no branch
- /* Convert from an index of array to a semaphore ID and return (If it has already been created in this process) */
- ret_sem_id = static_cast<SemID>(index + 1);
- } else {
- // LCOV_EXCL_START 200: p_handle_table can not be NULL
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- /* If a semaphore with the established name exists but the control information table does not exist, link to it or create it in the following processing. */
- /* (A semaphore was created by another process or the created process was terminated.) */
- /* Store the assigned semaphore ID in the control information storage table. */
- p_semaphore_open->index = index;
- /* Store the start address of the name storage table */
- p_semaphore_open->p_sys_semaphore = &p_inst->p_semaphore_table[index];
- /* Store the address of the control information TBL (Heap) into the semaphore information management TBL. */
- p_inst->p_handle_table[index] = p_semaphore_open;
-
- /* Create the object name of the semaphore from the position (index of array) of the control information storage TBL. */
- /* "_CWORD64__SEMAPHORE_SEMAPHORExxxxx" : xxxxx is expanded with five-digit array index */
- MakeSemaphoreName(name, index);
-
- /* Create a semaphore object using Mutex and store its handle into the control information storage TBL. */
- p_semaphore_open->h_semaphore = _pb_CreateMutex(NULL, FALSE, name);
- if (p_semaphore_open->h_semaphore == NULL) {
- /* If the semaphore object creation failed, */
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "_CWORD64_api.dll:%s:LINE %d\r\n CreateMutex ERROR " \
- "In _pb_CreateSemaphore\r\n", LTEXT(__FILE__), __LINE__);
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, " Mutex_Name : %s\r\n", name);
- _pb_Exit(); /* Make reset */
- }
-
- /* Create a Mutex name for locking the control information storage TBL from the position (index of array) of the control information storage TBL */
- /* "_CWORD64__SEMAPHORE_MUTEXxxxxx" : xxxxx is expanded with five-digit array index */
- MakeMutexName(name, index);
- /* Create a Mutex for locking the control information storage TBL and store its handle into the control information storage TBL */
- p_semaphore_open->h_mutex = _pb_CreateMutex(NULL, FALSE, name);
- if (p_semaphore_open->h_mutex == NULL) {
- /* If the creation of a Mutex for locking the control data storage TBL fails, */
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "_CWORD64_api.dll:%s:LINE %d\r\n CreateMutex ERROR " \
- "In _pb_CreateSemaphore\r\n", LTEXT(__FILE__), __LINE__);
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, " Mutex_Name : %s\r\n", name);
- _pb_Exit();
- }
- /* Semaphore Lock for updating semaphore information control TBL */
- PbMutexLock(p_semaphore_open->h_mutex, INFINITE);
- p_semaphore_open->p_sys_semaphore->ref_counter = 1;
- /* Semaphore UnLock upon completion of updating semaphore-information-management-TBL */
- PbMutexUnlock(p_semaphore_open->h_mutex);
- /* Semaphore UnLock upon completion of updating semaphore-information-management-TBL */
- PbMutexUnlock(p_inst->h_mutex);
-
- ret_sem_id = static_cast<SemID>(index + 1); /* Convert from an index of array to a semaphore ID and return */
- /* (A semaphore was created by another process or the created process was terminated.) */
- // LCOV_EXCL_STOP
- }
- } else {
- /* If the semaphore name specified by the user does not exist, it is newly created in the following processing. */
- /* Free-space retrieval processing for the name storage table */
- index = AllocNewSemaphoreTable(p_inst->p_semaphore_table, p_semaphore_name, p_inst->h_mutex);
- if (index == ((DWORD) - 1)) { // LCOV_EXCL_BR_LINE 200: table buffer is enough, can not failed
- /* If there is no free space in the name storage table */
- /* Initialize the name storage TBL pointer of the control information storage TBL. (it may be No meaning due to release heap area in the following processing?) */
- // LCOV_EXCL_START 200: table buffer is enough, can not failed
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- p_semaphore_open->p_sys_semaphore = NULL;
- /* Free the Heap area allocated for control information storage TBL */
- PbProcessHeapFree(0, p_semaphore_open);
- /* Semaphore UnLock to recover from errors */
- PbMutexUnlock(p_inst->h_mutex);
- // LCOV_EXCL_STOP
- } else {
- /* Store the assigned semaphore ID in the control information storage table. */
- p_semaphore_open->index = index;
- /* Store this start address of the name storage table */
- p_semaphore_open->p_sys_semaphore = &p_inst->p_semaphore_table[index];
- p_semaphore_open->p_sys_semaphore->ref_counter = 1; /* Reset reference counter. */
- /* Store the control information TBL (Heap) address in the semaphore information management TBL. */
- p_inst->p_handle_table[index] = p_semaphore_open;
-
- /* Create the object name of the semaphore from the position (array index) of the control information storage TBL. */
- /* "_CWORD64__SEMAPHORE_SEMAPHORExxxxx" : xxxxx is expanded with five-digit array index */
- MakeSemaphoreName(name, index);
- p_semaphore_open->h_semaphore = _pb_CreateMutex(NULL, FALSE, name); // LCOV_EXCL_BR_LINE 200: cannot be null // NOLINT(whitespace/line_length)
- if (p_semaphore_open->h_semaphore == NULL) { // LCOV_EXCL_BR_LINE 200: cannot be null
- // LCOV_EXCL_START 200: can not be null
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "_CWORD64_api.dll:%s:LINE %d\r\n CreateMutex ERROR " \
- "In _pb_CreateSemaphore\r\n", LTEXT(__FILE__), __LINE__);
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, " Mutex_Name : %s\r\n", name);
- _pb_Exit();
- // LCOV_EXCL_STOP
- }
-
- MakeMutexName(name, index);
- p_semaphore_open->h_mutex = _pb_CreateMutex(NULL, FALSE, name); // LCOV_EXCL_BR_LINE 200: cannot be null // NOLINT(whitespace/line_length)
- if (p_semaphore_open->h_mutex == NULL) { // LCOV_EXCL_BR_LINE 200: cannot be null
- // LCOV_EXCL_START 200: can not be null
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "_CWORD64_api.dll:%s:LINE %d\r\n CreateMutex ERROR " \
- "In _pb_CreateSemaphore\r\n", LTEXT(__FILE__), __LINE__);
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, " Mutex_Name : %s\r\n", name);
- _pb_Exit();
- // LCOV_EXCL_STOP
- }
- /* Semaphore name registration */
- _tcscpy(p_semaphore_open->p_sys_semaphore->semaphore_name, p_semaphore_name);
-
- PbMutexUnlock(p_inst->h_mutex); /* Mutex lock to new create semaphore ends here */ // LCOV_EXCL_BR_LINE 200: no branch // NOLINT(whitespace/line_length)
-
- ret_sem_id = static_cast<SemID>(index + 1); /* Convert from an array index to a semaphore ID and return */
- }
- }
- }
- }
-
- return ret_sem_id; /* Return the allocated semaphore ID. */
-}
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : PbDeleteSemaphore
- * ABSTRACT : Semaphore deletion processing
- * NOTE : Delete the semaphore specified by semaphore ID
- * ARGUMENT : SemID sem_id Semaphore ID to be deleted
- * RETURN : RET_API RET_NORMAL Normal completion
- * : RET_OSERROR ABEND
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-RET_API
-PbDeleteSemaphore(SemID sem_id) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- RET_API ret_api = RET_NORMAL;
- int index = 0;
- PB_SEMAPHORE_INSTANCE *p_inst = &g_instance;
- PB_SEMAPHORE_OPEN_HANDLE *p_semaphore_open = NULL;
- DWORD dw_ret_sts = 0;
- DWORD ref_counter = 0;
-
- /* Parameter check */
- if (sem_id == 0) {
- /* Error if specified semaphore ID is zero */
- ret_api = RET_OSERROR;
- }
-
- if (ret_api == RET_NORMAL) {
- index = static_cast<int>(sem_id) - 1; /* Calculate the index number of the semaphore table from the specified semaphore ID. */
- if (index >= MAX_PB_SEMAPHORES) {
- /* If the specified semaphore ID is out of range */
- ret_api = RET_OSERROR;
- }
- }
-
- if (ret_api == RET_NORMAL) {
- PbMutexLock(p_inst->h_mutex, INFINITE); /* Need this exclusion? Seems to not be used exclusion at Locking/Unlocking... */
- p_semaphore_open = p_inst->p_handle_table[index];
- PbMutexUnlock(p_inst->h_mutex); /* Need this exclusion? Seems to not be used exclusion at Locking/Unlocking... */
- if (p_semaphore_open == NULL) /* If the specified semaphore ID is not registered in the table */ {
- ret_api = RET_OSERROR;
- }
- }
-
- if (ret_api == RET_NORMAL) {
- /* Return an error if the semaphore is locked */
- dw_ret_sts = PbMutexLock(p_semaphore_open->h_semaphore, 0);
- if (dw_ret_sts == WAIT_TIMEOUT) {
- ret_api = RET_OSERROR;
- }
- }
-
- if (ret_api == RET_NORMAL) {
- PbMutexUnlock(p_semaphore_open->h_semaphore);
-
- PbMutexLock(p_semaphore_open->h_mutex, INFINITE);
- if (p_semaphore_open->p_sys_semaphore->ref_counter > 0) {
- p_semaphore_open->p_sys_semaphore->ref_counter--;
- }
-
- ref_counter = p_semaphore_open->p_sys_semaphore->ref_counter;
- PbMutexUnlock(p_semaphore_open->h_mutex);
-
- if (ref_counter == 0) {
- PbMutexLock(p_inst->h_mutex, INFINITE); /* Get Mutex */
-
- FreeSemaphoreTable(p_inst->p_semaphore_table, index, p_inst->h_mutex);
- p_semaphore_open->p_sys_semaphore = NULL;
- if (p_semaphore_open->h_semaphore != NULL) {
- PbDeleteMutex(p_semaphore_open->h_semaphore);
- p_semaphore_open->h_semaphore = NULL;
- }
-
- if (p_semaphore_open->h_mutex != NULL) {
- PbDeleteMutex(p_semaphore_open->h_mutex);
- p_semaphore_open->h_mutex = NULL;
- }
-
- PbProcessHeapFree(0, p_semaphore_open);
-
- p_inst->p_handle_table[index] = NULL;
- PbMutexUnlock(p_inst->h_mutex); /* Release Mutex */
- }
- }
-
- return ret_api;
-}
-// LCOV_EXCL_STOP
-
-/**
- * @brief
- * Semaphore Lock
- *
- * Get the semaphore with the specified semaphore ID. Do not return from this function until it is acquired.
- *
- * @param[in] sem_id Semaphore ID of the semaphore to be acquired
- *
- * @return RET_NORMAL Normal completion<br>
- * RET_OSERROR ABEND
- */
-RET_API _pb_SemLock(SemID sem_id) { // NOLINT(readability/nolint) WPF_SYSAPI.h API
- RET_API ret_api = RET_OSERROR;
- PB_SEMAPHORE_INSTANCE *p_inst = &g_instance;
- PB_SEMAPHORE_OPEN_HANDLE *p_semaphore_open = NULL;
- int index = 0;
- DWORD result = 0;
-
- /* Parameter check */
- if (sem_id != 0) {
- /* The specified semaphore ID is non-zero */
- index = static_cast<int>(sem_id) - 1; /* Calculate the index number of the semaphore table from the specified semaphore ID. */
- if (index >= MAX_PB_SEMAPHORES) {
- /* If the specified semaphore ID is out of range */
- } else {
- p_semaphore_open = p_inst->p_handle_table[index];
- if (p_semaphore_open != NULL) {
- /* If the specified semaphore ID is already registered in the table, */
- ret_api = RET_NORMAL;
- }
- }
- }
-
- if (ret_api == RET_NORMAL) {
- /* Wait forever until a semaphore is acquired */
- result = PbMutexLock(p_semaphore_open->h_semaphore, INFINITE);
-
- switch (result) {
- case WAIT_OBJECT_0: {
- ret_api = RET_NORMAL;
- break;
- }
- case WAIT_ABANDONED: { // LCOV_EXCL_BR_LINE 200: function do not return this
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- ret_api = RET_OSERROR; // LCOV_EXCL_LINE 200: function do not return this
- break; // LCOV_EXCL_LINE 200: function do not return this
- }
- case WAIT_TIMEOUT: { // LCOV_EXCL_BR_LINE 200: parameter INFINITE not return this
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- ret_api = RET_OSERROR; // LCOV_EXCL_LINE 200: parameter INFINITE not return this
- break; // LCOV_EXCL_LINE 200: parameter INFINITE not return this
- }
- default:
- ret_api = RET_OSERROR;
- break;
- }
- }
-
- return ret_api;
-}
-
-/**
- * @brief
- * Semaphore Unlock
- *
- * Release the semaphore specified by semaphore ID.
- *
- * @param[in] sem_id Semaphore ID of the semaphore to be released
- *
- * @return RET_NORMAL Normal completion<br>
- * RET_OSERROR ABEND
- */
-RET_API _pb_SemUnlock(SemID sem_id) { // NOLINT(readability/nolint) WPF_SYSAPI.h API
- RET_API ret_api = RET_OSERROR;
- int index = 0;
- PB_SEMAPHORE_INSTANCE *p_inst = &g_instance;
- PB_SEMAPHORE_OPEN_HANDLE *p_semaphore_open = NULL;
- BOOL ok = FALSE;
-
- /* Parameter check */
- if (sem_id != 0) {
- /* The specified semaphore ID is non-zero */
- index = static_cast<int>(sem_id) - 1; /* Calculate the index number of the semaphore table from the specified semaphore ID. */
- if (index >= MAX_PB_SEMAPHORES) {
- /* If the specified semaphore ID is out of range */
- } else {
- p_semaphore_open = p_inst->p_handle_table[index];
- if (p_semaphore_open != NULL) {
- /* If the specified semaphore ID is already registered in the table, */
- ret_api = RET_NORMAL;
- }
- }
- }
-
- if (ret_api == RET_NORMAL) {
- ok = PbMutexUnlock(p_semaphore_open->h_semaphore); // LCOV_EXCL_BR_LINE 200: unlock can not failed
- if (ok == FALSE) { // LCOV_EXCL_BR_LINE 200: unlock can not failed
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- ret_api = RET_OSERROR; // LCOV_EXCL_LINE 200: unlock can not failed
- }
- }
-
- return ret_api;
-}
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : InitSemaphoreInProcess
- * ABSTRACT : Semaphore initialization processing
- * NOTE : Initialize to use semaphore that is valid only within a process
- * ARGUMENT : None
- * RETURN : RET_API RET_NORMAL Normal completion
- * : RET_OSERROR ABEND
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-RET_API
-InitSemaphoreInProcess(void) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- RET_API ret_api = RET_NORMAL;
- DWORD pid; /* Process ID */
- TCHAR wcs_share_data_name[32]; /* Name of shared data area for in-process semaphore management table */
- char mbs_share_data_name[32]; /* Name of shared data area for in-process semaphore management table */
- char *cp_addr = NULL; /* For returning the start address of the shared data area */
- u_int32 dummy_size; /* For returning the size of shared data area */
-
- pid = getpid(); /* Get process ID */
-
- memset(&wcs_share_data_name[0], 0, sizeof(wcs_share_data_name));
- memset(&mbs_share_data_name[0], 0, sizeof(mbs_share_data_name));
-#ifdef UNDER_CE
- /* Create the name of shared data area for in-process semaphore management table */
- wsprintf(&wcs_share_data_name[0], __TEXT("SemInProc_%08x"), pid);
- wcstombs(&mbs_share_data_name[0], &wcs_share_data_name[0], sizeof(mbs_share_data_name));
-#else
- /* Create the name of shared data area for in-process semaphore management table */
- wsprintf(&mbs_share_data_name[0], __TEXT("SemInProc_%08x"), static_cast<int32>(pid));
-#endif
-
- /* Link to shared data area for semaphore management table in process */
- ret_api = _pb_LinkShareData(&mbs_share_data_name[0], reinterpret_cast<void**>(&cp_addr), &dummy_size);
- if (ret_api == RET_NORMAL) {
- /* Successful completion because _pb_InitSemaphoreInProcess has already been executed. */
- } else {
- /* Create shared data area for in-process semaphore management table */
- ret_api = _pb_CreateShareData(&mbs_share_data_name[0],
- static_cast<u_int32>(sizeof(PB_SEM_INPROC) * MAX_PB_SEMAPHORES_INPROC), \
- reinterpret_cast<void**>(&cp_addr));
- if (ret_api == RET_NORMAL) {
- /* Save top address of in-process semaphore management table */
- g_p_sem_in_proc_mng = reinterpret_cast<PB_SEM_INPROC *>(cp_addr);
-
- /* Initialization processing of the critical section object for in-process semaphore management table lock */
- PbInitializeCriticalSection(&g_sem_in_proc_tbl_mng_cs);
- } else {
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, " _CWORD64_api.dll:%s:LINE %d\r\n ## " \
- "ERROR:InitSemaphoreInProcess --> _pb_CreateShareData ##\r\n", LTEXT(__FILE__), __LINE__);
- ret_api = RET_OSERROR;
- }
- }
-
- return ret_api;
-}
-// LCOV_EXCL_STOP
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : DeinitSemaphoreInProcess
- * ABSTRACT : Semaphore function termination processing
- * NOTE : Terminate semaphore function that is valid only within a process
- * ARGUMENT : None
- * RETURN : RET_API RET_NORMAL Normal completion
- * : RET_OSERROR ABEND
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-RET_API
-DeinitSemaphoreInProcess(void) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- RET_API ret_api = RET_NORMAL;
- PB_SEM_INPROC *p_sem_in_proc; /* Pointer to the in-process semaphore management table */
- DWORD pid; /* Process ID */
- TCHAR wcs_share_data_name[32]; /* Name of shared data area for in-process semaphore management table */
- char mbs_share_data_name[32]; /* Name of shared data area for in-process semaphore management table */
- char *cp_addr = NULL; /* For returning the start address of the shared data area */
- u_int32 dummy_size; /* For returning the size of the shared data area */
- int i;
-
- pid = getpid(); /* Get process ID */
-
- memset(&wcs_share_data_name[0], 0, sizeof(wcs_share_data_name));
- memset(&mbs_share_data_name[0], 0, sizeof(mbs_share_data_name));
-#ifdef UNDER_CE
- /* Create the name of shared data area for in-process semaphore management table */
- wsprintf(&wcs_share_data_name[0], __TEXT("SemInProc_%08x"), pid);
- wcstombs(&mbs_share_data_name[0], &wcs_share_data_name[0], sizeof(mbs_share_data_name));
-#else/* Create the name of shared data area for in-process semaphore management table */
- wsprintf(&mbs_share_data_name[0], __TEXT("SemInProc_%08x"), static_cast<int32>(pid));
-#endif
-
- /* Link to shared data area for in-process semaphore management table */
- ret_api = _pb_LinkShareData(&mbs_share_data_name[0], reinterpret_cast<void**>(&cp_addr), &dummy_size);
- if (ret_api != RET_NORMAL) {
- ret_api = RET_NORMAL; /* If the link fails, it is assumed to have been deleted and it completes normally. */
- } else {
- /* Get CS for exclusive control of in-process semaphore management table */
- PbEnterCriticalSection(&g_sem_in_proc_tbl_mng_cs);
-
- p_sem_in_proc = g_p_sem_in_proc_mng; /* Get start address of in-process semaphore management table */
- if (p_sem_in_proc == NULL) {
- ret_api = RET_OSERROR;
- } else {
- /* Search in-process semaphore management table (delete all semaphores) */
- for (i = 0; i < MAX_PB_SEMAPHORES_INPROC; i++, p_sem_in_proc++) {
- if (p_sem_in_proc->p_cs != 0) {
- PbDeleteCriticalSection(p_sem_in_proc->p_cs); /* Delete critical section */
- /* Release the Heap area allocated as the critical section structured area */
- PbProcessHeapFree(0, p_sem_in_proc->p_cs);
- }
- }
-
- ret_api = PbDeleteShareData(&mbs_share_data_name[0]); /* Delete shared data area */
- if (ret_api != RET_NORMAL) {
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, " _CWORD64_api.dll:%s:LINE %d\r\n ## " \
- "ERROR:DeinitSemaphoreInProcess --> PbDeleteShareData ##\r\n", LTEXT(__FILE__), __LINE__);
- ret_api = RET_OSERROR;
- } else {
- g_p_sem_in_proc_mng = NULL;
- }
- }
-
- PbLeaveCriticalSection(&g_sem_in_proc_tbl_mng_cs); /* Release CS for exclusive control of in-process semaphore management table */
-
- if (ret_api == RET_NORMAL) {
- /* When the process is completed normally up to this point */
- PbDeleteCriticalSection(&g_sem_in_proc_tbl_mng_cs); /* Delete critical section */
- }
- }
-
- return ret_api;
-}
-// LCOV_EXCL_STOP
-
-/***** Internal functions *****/
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : FindSemaphoreTable
- * ABSTRACT : Name storage table retrieval processing
- * NOTE : Retrieve the specified name storage table with the specified name,
- * : and return its array index if the specified name exists in the table.
- * : The specified Mutex is locked during this table retrieval processing.
- * ARGUMENT : PB_SEMAPHORE* p_semaphore_table Pointer to the name storage TBL
- * TCHAR* name Pointer to the name to be retrieved
- * HANDLE h_mutex Handle of the name storage TBL-locking Mutex
- * RETURN : DWORD othe than -1 Array index of containing the name string to be retrieved
- * : -1 Specified name does not exist
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-static DWORD
-FindSemaphoreTable(PB_SEMAPHORE* p_semaphore_table, TCHAR* name, HANDLE h_mutex) {
- DWORD ret = (DWORD) - 1;
- /* Loop up to the maximum number of entries and search the name storage table. */
- for (int n = 0; n < MAX_PB_SEMAPHORES; n++) {
- /* If there is a matching name, */
- if (_tcscmp(p_semaphore_table[n].semaphore_name, name) == 0) {
- ret = n; /* Return the index of the array in which the given name existed */
- break;
- }
- }
- /* UnLock the lock Mutex because the search for the name storage table has been completed. */
- /* PbMutexUnlock(h_mutex); */
-
- return ret; /* Since no search name exists, an error value of-1 is returned. */
-}
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : AllocNewSemaphoreTable
- * ABSTRACT : Name storage table free space retrieval processing
- * NOTE : Retrieve the specified name storage table from the beginning,
- * : return the array index of any free space.
- * : [Note] Because the Mutex part inside this function has been deleted
- * : to fix a bug caused by Mutex leaks, the whole function must be
- * : locked by Mutex from the outside when this function is used.
- * ARGUMENT : PB_SEMAPHORE *p_semaphore_table
- * TCHAR *name
- * HANDLE h_mutex
- * RETURN : DWORD
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-static DWORD
-AllocNewSemaphoreTable(PB_SEMAPHORE* p_semaphore_table, TCHAR* name, HANDLE h_mutex) {
- DWORD ret = (DWORD) - 1;
- /* Loop up to the maximum number of entries and search the name storage table. */
- for (int n = 0; n < MAX_PB_SEMAPHORES; n++) {
- /* If there is free space */
- if (p_semaphore_table[n].semaphore_name[0] == __TEXT('\0')) {
- ret = n;
- break;
- }
- }
-
- return ret;
-}
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : FreeSemaphoreTable
- * ABSTRACT :
- * NOTE :
- * ARGUMENT : PB_SEMAPHORE* p_semaphore_table
- * int index
- * HANDLE h_mutex
- * RETURN : None
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-static void
-FreeSemaphoreTable(PB_SEMAPHORE* p_semaphore_table, int index, HANDLE h_mutex) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- p_semaphore_table[index].semaphore_name[0] = __TEXT('\0');
-}
-// LCOV_EXCL_STOP
-
-/*
-* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- End of File : _sysSem.cpp
-* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-*/
diff --git a/video_in_hal/vehicleservice/positioning_base_library/library/src/_pbSerial.cpp b/video_in_hal/vehicleservice/positioning_base_library/library/src/_pbSerial.cpp
deleted file mode 100755
index c6044af..0000000
--- a/video_in_hal/vehicleservice/positioning_base_library/library/src/_pbSerial.cpp
+++ /dev/null
@@ -1,525 +0,0 @@
-/*
- * @copyright Copyright (c) 2016-2020 TOYOTA MOTOR CORPORATION.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-#include "_pbSerial.h"
-#include "WPF_STD_private.h"
-#include "_pbInternalProc.h"
-
-typedef struct SerialTable {
- HANDLE h_handle; /* Registration handle */
- DWORD dw_wait_mask; /* SetMask */
- DWORD dw_read_timeout; /* milisec */
- DWORD dw_write_timeout; /* milisec */
- struct SerialTable *next;
-} SERIAL_TABLE;
-
-static SERIAL_TABLE *g_pst_serial_table = NULL;
-static pthread_mutex_t g_func_lock_mutex = PTHREAD_MUTEX_INITIALIZER; /* Consider replacing it later */
-
-/* Prototype declarations */
-static BOOL FindList(SERIAL_TABLE **p_list, HANDLE h_obj);
-static BOOL AddList(SERIAL_TABLE *p_add_list);
-static BOOL DelList(SERIAL_TABLE *h_del_obj);
-static BOOL FunctionLock(void);
-static BOOL FunctionUnlock(void);
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-* _sys internal public APIs
-* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-
-/****************************************************************************
-@brief SerialTableInit<BR>
- Initialize each process
-@outline SerialTableInit<BR>
- Initialize each process
-@type Completion return type
-
-@return BOOL
-@retval TRUE : Normal
-@retval FALSE : Error
-*****************************************************************************/
-BOOL SerialTableInit(void) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- /* do nothing at this time */
- return TRUE;
-}
-// LCOV_EXCL_STOP
-
-/****************************************************************************
-@brief SerialTableTerm<BR>
- termination processing for each process
-@outline SerialTableTerm<BR>
- termination processing for each process
-@type Completion return type
-
-@return BOOL
-@retval TRUE : Normal
-@retval FALSE : Error
-*****************************************************************************/
-BOOL SerialTableTerm(void) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- if (NULL != g_pst_serial_table) {
- /* delete the list? */
- }
- return TRUE;
-}
-// LCOV_EXCL_STOP
-
-/****************************************************************************
-@brief SerialObjectTimeoutAdd<BR>
- Set read/write timeout
-@outline SerialObjectTimeoutAdd<BR>
- Set read/write timeout
-@type Completion return type
-
-@param[in] HANDLE h_obj : Handle to set the timeout
-@param[in] DWORD dw_read_timeout : Timeout to read (Millisecond)
-@param[in] DWORD dw_write_timeout : Timeout to write (Millisecond)
-
-@return BOOL
-@retval TRUE : Normal
-@retval FALSE : Error
-*****************************************************************************/
-BOOL SerialObjectTimeoutAdd(HANDLE h_obj, DWORD dw_read_timeout, DWORD dw_write_timeout) { // LCOV_EXCL_START 8:dead code // NOLINT(whitespace/line_length)
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- SERIAL_TABLE *p_list = NULL;
- BOOL bret = FALSE;
-
- if (NULL != h_obj) {
- FunctionLock();
- bret = FindList(&p_list, h_obj);
- if (TRUE == bret) {
- /* Already exists in the list */
- if (NULL != p_list) {
- p_list->dw_read_timeout = dw_read_timeout;
- p_list->dw_write_timeout = dw_write_timeout;
- bret = TRUE;
- } else {
- /* The list pointer is expected to be in the list but cannot be retrieved. */
- bret = FALSE;
- }
- } else {
- /* Not exist in the list */
- p_list = reinterpret_cast<SERIAL_TABLE*>(malloc(sizeof(SERIAL_TABLE)));
- if (NULL != p_list) {
- p_list->next = NULL;
- p_list->dw_wait_mask = 0;
- p_list->h_handle = h_obj;
- p_list->dw_read_timeout = dw_read_timeout;
- p_list->dw_write_timeout = dw_write_timeout;
- bret = AddList(p_list);
- if (FALSE == bret) {
- /* Registration failure */
- free(p_list);
- bret = FALSE;
- } else {
- /* Registration success */
- bret = TRUE;
- }
- } else {
- /* Falied to get memory */
- bret = FALSE;
- }
- }
- FunctionUnlock();
- } else {
- /* Parameter error */
- bret = FALSE;
- }
-
- return bret;
-}
-// LCOV_EXCL_STOP
-
-/****************************************************************************
-@brief SerialObjectTimeoutGet<BR>
- Get read/write timeout
-@outline SerialObjectTimeoutGet<BR>
- Get read/write timeout
-@type Completion return type
-
-@param[in] HANDLE h_obj : Handle for getting the timeout
-@param[out] DWORD* dw_read_timeout : Timeout to read (Millisecond)
-@param[out] DWORD* dw_write_timeout : Timeout to write (Millisecond)
-
-@return BOOL
-@retval TRUE : Normal
-@retval FALSE : Error
-*****************************************************************************/
-BOOL SerialObjectTimeoutGet(HANDLE h_obj, DWORD *dw_read_timeout, DWORD *dw_write_timeout) { // LCOV_EXCL_START 8:dead code // NOLINT(whitespace/line_length)
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- SERIAL_TABLE *p_list = NULL;
- BOOL bret = FALSE;
-
- if ((NULL != h_obj) && (NULL != dw_read_timeout) && (NULL != dw_write_timeout)) {
- FunctionLock();
- bret = FindList(&p_list, h_obj);
- if (TRUE == bret) {
- /* Exists in the list */
- if (NULL != p_list) {
- *dw_read_timeout = p_list->dw_read_timeout;
- *dw_write_timeout = p_list->dw_write_timeout;
- bret = TRUE;
- } else {
- /* The list pointer is expected to be in the list but cannot be retrieved. */
- bret = FALSE;
- }
- } else {
- /* Not exist in the list */
- bret = FALSE;
- }
- FunctionUnlock();
- } else {
- /* Parameter error */
- bret = FALSE;
- }
-
- return bret;
-}
-// LCOV_EXCL_STOP
-
-/****************************************************************************
-@brief SerialObjectWaitmaskAdd<BR>
- Set the mask of event wait factor
-@outline SerialObjectWaitmaskAdd<BR>
- Set the mask of event wait factor
-@type Completion return type
-
-@param[in] HANDLE h_obj : Handle to set the mask
-@param[in] DWORD dw_mask : Value of mask
-
-@return BOOL
-@retval TRUE : Normal
-@retval FALSE : Error
-*****************************************************************************/
-BOOL SerialObjectWaitmaskAdd(HANDLE h_obj, DWORD dw_mask) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- SERIAL_TABLE *p_list = NULL;
- BOOL bret = FALSE;
-
- if (NULL != h_obj) {
- FunctionLock();
- bret = FindList(&p_list, h_obj);
- if (TRUE == bret) {
- /* already exists in the list */
- if (NULL != p_list) {
- /* Clear unused flags */
- p_list->dw_wait_mask = (DWORD)((dw_mask) & (EV_RXCHAR | EV_ERROR | EV_DSR));
- bret = TRUE;
- } else {
- /* The list pointer is expected to be in the list but cannot be retrieved. */
- bret = FALSE;
- }
- } else {
- /* Not exist in the list */
- p_list = reinterpret_cast<SERIAL_TABLE*>(malloc(sizeof(SERIAL_TABLE)));
- if (NULL != p_list) {
- p_list->next = NULL;
- p_list->h_handle = h_obj;
- p_list->dw_read_timeout = INFINITE; /* Infinity wait as initial value */
- p_list->dw_write_timeout = INFINITE; /* Infinity wait as initial value */
- /* Clear unused flags */
- p_list->dw_wait_mask = (DWORD)((dw_mask) & (EV_RXCHAR | EV_ERROR | EV_DSR));
- bret = AddList(p_list);
- if (FALSE == bret) {
- /* Registration failure */
- free(p_list);
- bret = FALSE;
- } else {
- /* registration success */
- bret = TRUE;
- }
- } else {
- /* Failed to get memory */
- bret = FALSE;
- }
- }
- FunctionUnlock();
- } else {
- /* Parameter error */
- bret = FALSE;
- }
-
- return bret;
-}
-// LCOV_EXCL_STOP
-
-/****************************************************************************
-@brief SerialObjectWaitmaskGet<BR>
- Get the set mask value from a handle
-@outline SerialObjectWaitmaskGet<BR>
- Get the set mask value from a handle
-@type Completion return type
-
-@param[in] HANDLE h_obj : Handle from which the mask is to be acquired
-@param[out] DWORD* dw_mask : mask value
-
-@return BOOL
-@retval TRUE : Normal
-@retval FALSE : Error
-*****************************************************************************/
-BOOL SerialObjectWaitmaskGet(HANDLE h_obj, DWORD *dw_mask) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- SERIAL_TABLE *p_list = NULL;
- BOOL bret = FALSE;
-
- if ((NULL != h_obj) && (NULL != dw_mask)) {
- *dw_mask = 0;
- FunctionLock();
- bret = FindList(&p_list, h_obj);
- if (TRUE == bret) {
- /* Exists in the list */
- if (NULL != p_list) {
- *dw_mask = p_list->dw_wait_mask;
- bret = TRUE;
- } else {
- /* The list pointer is expected to be in the list but cannot be retrieved. */
- bret = FALSE;
- }
- } else {
- /* Not exist in the list */
- bret = FALSE;
- }
- FunctionUnlock();
- } else {
- /* Parameter error */
- bret = FALSE;
- }
-
- return bret;
-}
-// LCOV_EXCL_STOP
-
-/****************************************************************************
-@brief SerialObjectDel<BR>
- Delete Timeout and Mask Setting
-@outline SerialObjectDel<BR>
- Delete Timeout and Mask Setting
-@type Completion return type
-
-@param[in] HANDLE h_obj : Handle from which the setting is to be deleted
-
-@return BOOL
-@retval TRUE : Normal
-@retval FALSE : Error
-*****************************************************************************/
-BOOL SerialObjectDel(HANDLE h_obj) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- SERIAL_TABLE *p_list = NULL;
- BOOL bret = FALSE;
-
- if (NULL != h_obj) {
- FunctionLock();
- bret = FindList(&p_list, h_obj);
- if (TRUE == bret) {
- /* Already exists in the list */
- if (NULL != p_list) {
- bret = DelList(p_list);
- if (TRUE == bret) {
- free(p_list);
- } else {
- /* Failed to delete */
- }
- } else {
- /* The list pointer is expected to be in the list but cannot be retrieved. */
- bret = FALSE;
- }
- } else {
- /* Not exist in the list */
- }
- FunctionUnlock();
- } else {
- /* Parameter error */
- }
-
- return bret;
-}
-// LCOV_EXCL_STOP
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-* Private APIs
-* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-
-/****************************************************************************
-@brief FindList<BR>
- Searching for a Handle in the List
-@outline FindList<BR>
- Searching for a Handle in the List
-@type Completion return type
-
-@param[out] SERIAL_TABLE** p_list : Found list pointer
-@param[in] HANDLE h_obj : Handle to look for
-
-@return BOOL
-@retval TRUE : Normal (p_list != NULL)
-@retval FALSE : Error (p_list == NULL)
-*****************************************************************************/
-static BOOL FindList(SERIAL_TABLE **p_list, HANDLE h_obj) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- SERIAL_TABLE *pNow = NULL;
- BOOL bret = FALSE;
-
- if ((NULL != h_obj) && (NULL != p_list)) {
- /* Search list */
- pNow = g_pst_serial_table;
- while (NULL != pNow) {
- /* h_obj and pNow->h_handle are pointer type.*/
- if ((int64_t)h_obj == (int64_t)pNow->h_handle) {
- *p_list = pNow;
- bret = TRUE;
- break;
- }
- pNow = pNow->next;
- }
- } else {
- bret = FALSE; /* Parameter error */
- }
-
- return bret;
-}
-// LCOV_EXCL_STOP
-
-/****************************************************************************
-@brief AddList<BR>
- Append data to the end of the list
-@outline AddList<BR>
- Append data to the end of the list
-@type Completion return type
-
-@param[in] SERIAL_TABLE* p_list : Data to add
-
-@return BOOL
-@retval TRUE : Normal
-@retval FALSE : Error
-*****************************************************************************/
-static BOOL AddList(SERIAL_TABLE *p_add_list) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- SERIAL_TABLE *pNow = NULL;
- BOOL bret = FALSE;
-
- if (NULL != p_add_list) {
- /* Add unregistered data */
- if (NULL == g_pst_serial_table) {
- g_pst_serial_table = p_add_list;
- bret = TRUE;
- } else {
- /* Add to end of list */
- pNow = g_pst_serial_table;
- while (NULL != pNow) {
- if (NULL == pNow->next) {
- pNow->next = p_add_list;
- bret = TRUE;
- break;
- }
- pNow = pNow->next;
- }
- }
- } else {
- bret = FALSE; /* Parameter error */
- }
-
- return bret;
-}
-// LCOV_EXCL_STOP
-
-/****************************************************************************
-@brief DelList<BR>
- Remove Specified Data from a List
-@outline DelList<BR>
- Remove Specified Data from a List
-@type Completion return type
-
-@param[in,out] SERIAL_TABLE* h_del_obj :
-
-@return BOOL
-@retval TRUE : Normal
-@retval FALSE : Error
-*****************************************************************************/
-static BOOL DelList(SERIAL_TABLE *h_del_obj) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- SERIAL_TABLE *pNow = NULL;
- SERIAL_TABLE *pBef = NULL;
- BOOL bret = FALSE;
-
- if (NULL != h_del_obj) {
- /* Add to end of list */
- pNow = g_pst_serial_table;
- while (NULL != pNow) {
- if (h_del_obj == pNow) {
- if (NULL == pBef) {
- /* Delete first data */
- g_pst_serial_table = pNow->next;
- } else {
- /* Others */
- pBef->next = h_del_obj->next;
- }
- bret = TRUE;
- break;
- }
- pBef = pNow;
- pNow = pNow->next;
- }
- } else {
- bret = FALSE; /* Parameter error */
- }
-
- return bret;
-}
-// LCOV_EXCL_STOP
-
-/****************************************************************************
-@brief FunctionLock<BR>
- Start locking g_pst_serial_table
-@outline FunctionLock<BR>
- Start locking g_pst_serial_table
-@type Completion return type
-
-@return BOOL
-@retval TRUE : Normal
-@retval FALSE : Error
-*****************************************************************************/
-static BOOL FunctionLock(void) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- BOOL bret = FALSE;
- if (EOK == pthread_mutex_lock(&g_func_lock_mutex)) {
- bret = TRUE;
- }
- return bret;
-}
-// LCOV_EXCL_STOP
-
-/***************************************************************************
-@brief FunctionUnlock<BR>
- Terminate locking of g_pst_serial_table
-@outline FunctionUnlock<BR>
- Terminate locking of g_pst_serial_table
-@type Completion return type
-
-@return BOOL
-@retval TRUE : Normal
-@retval FALSE : Error
-*****************************************************************************/
-static BOOL FunctionUnlock(void) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- BOOL bret = FALSE;
- if (EOK == pthread_mutex_unlock(&g_func_lock_mutex)) {
- bret = TRUE;
- }
- return bret;
-}
-// LCOV_EXCL_STOP
-
diff --git a/video_in_hal/vehicleservice/positioning_base_library/library/src/_pbSram.cpp b/video_in_hal/vehicleservice/positioning_base_library/library/src/_pbSram.cpp
deleted file mode 100755
index f31e16f..0000000
--- a/video_in_hal/vehicleservice/positioning_base_library/library/src/_pbSram.cpp
+++ /dev/null
@@ -1,316 +0,0 @@
-/*
- * @copyright Copyright (c) 2016-2020 TOYOTA MOTOR CORPORATION.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/*
-* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- File name : _pbSram.cpp
- System name : 05 Integration Platform
- Subsystem name : System common functions
- Title : System APIs
-* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-*/
-
-#include <vehicle_service/positioning_base_library.h>
-#include "WPF_STD_private.h"
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
- /*
- Function prototype declarations
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
- RET_API SramDMWt(u_int32 mode);
- RET_API SramDMWrkWt(u_int8 id, void *pbuf, u_int32 off, u_int16 size);
- RET_API SramDMWrkRd(u_int8 id, u_int32 off, void *pbuf, u_int16 size);
-
-#ifdef __cplusplus
-}
-#endif
-
-/*
- External function prototype declarations
-* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-extern RET_API CreateAsyncWtThread(void);
-
-/*
- Global Variable Definitions
-* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-extern int g_n_api_set_id; /* ID variable for PSL registration */
-extern void *g_adr_diagmem_wrktop; /* Diag memory temporary work area top address */
-
-#ifdef CEPC_EM /* Physical area (pseudo area) setting for CEPC and EM */
-
-/* Allocation size of temporary work for diagnosis memory */
-#define SIZE_DIAGMEM_WRK 0x00001000
-
-#endif
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : SramSetup
- * ABSTRACT : SRAM Access-Initialization Process
- * NOTE : When called by _sys_SramInit when _CWORD64_api.dll is attached, the SRAM physical area
- * is mapped to the shared area so that the SRAM physical area can be accessed.
- * The first call after system startup checks the result of the previous SRAM write processing.
- * If the power is off during system startup, the system performs continuous write processing.
- * (Before the _CWORD100_ modularization of SRAM access functions,
- * they were used to open ports, but now they do not need to be opened.)
- * ARGUMENT : u_int32 mount_flg HDD mount status flag
- * u_int32 *mount_sts HDD mount status return pointer
- * RETURN : RET_API defined
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-RET_API
-SramSetup(u_int32 mount_flg, u_int32 *mount_sts) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- RET_API ret_sts = RET_OSERROR;
- return(ret_sts);
-}
-// LCOV_EXCL_STOP
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : SramWt
- * ABSTRACT : SRAM write process
- * NOTE : Write the content of the buffer to the offset-position of the area of the specified SRAM ID.
- * Temporary buffer is used for SRAM writing, and recovery from writing is considered.
- * Therefore, the transfer data size must be less than or equal to the temporary buffer size.
- * ARGUMENT : u_int8 id SRAM area id
- * void *pbuf Source buffer pointer
- * u_int32 off Destination SRAM offsets (bytes)
- * u_int16 size Transfer data size (bytes)
- * RETURN : RET_API
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-RET_API
-SramWt(u_int8 id, void *pbuf, u_int32 off, u_int16 size) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- RET_API ret_sts = RET_OSERROR;
- return(ret_sts);
-}
-// LCOV_EXCL_STOP
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : SramFil
- * ABSTRACT : SRAM memory-fill process
- * NOTE : Fill with the specified patterns from the offset position of
- * the area of the specified SRAM ID.
- * Temporary buffer is used for SRAM writing, and recovery from writing is considered.
- * Therefore, it is effective that the fill size is less than or equal to the temporary buffer size.
- * ARGUMENT : u_int8 id SRAM area id
- * u_int32 off Fill destination SRAM offset (bytes)
- * u_int8 pat Fill pattern
- * u_int16 size Fill size (bytes)
- *
- * RETURN : RET_API defined
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-RET_API
-SramFil(u_int8 id, u_int32 off, u_int8 pat, u_int16 size) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- RET_API ret_sts = RET_OSERROR;
-
- ret_sts = PbSramFil32(id, off, pat, (u_int32)size);
-
- return(ret_sts);
-}
-// LCOV_EXCL_STOP
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : PbSramFil32
- * ABSTRACT : SRAM memory-fill process
- * NOTE : Fill with the specified patterns from the offset position of
- * the area of the specified SRAM ID.
- * Temporary buffer is used for SRAM writing, and recovery from writing is considered.
- * Therefore, it is effective that the fill size is less than or equal to the temporary buffer size.
- * ARGUMENT : u_int8 id SRAM area id
- * u_int32 off Fill destination SRAM offset (bytes)
- * u_int8 pat Fill pattern
- * u_int32 size Fill size (bytes)
- * RETURN : RET_API defined
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-RET_API
-PbSramFil32(u_int8 id, u_int32 off, u_int8 pat, u_int32 size) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- RET_API ret_sts = RET_OSERROR;
- return(ret_sts);
-}
-// LCOV_EXCL_STOP
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : SramRd
- * ABSTRACT : SRAM read process
- * NOTE : Write content in the area specified SRAM ID and offset position to buffer.
- * ARGUMENT : u_int8 id SRAM area ID
- * u_int32 off Source SRAM Offset (bytes)
- * void *pbuf Destination buffer pointer
- * u_int16 size Transfer data size (bytes)
- * RETURN : RET_API
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-RET_API
-SramRd(u_int8 id, u_int32 off, void *pbuf, u_int16 size) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- RET_API ret_sts = RET_OSERROR;
-
- ret_sts = PbSramRd32(id, off, pbuf, (u_int32)size);
-
- return(ret_sts);
-}
-// LCOV_EXCL_STOP
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : PbSramRd32
- * ABSTRACT : SRAM read process
- * NOTE : Write content in the area specified SRAM ID and offset position to buffer.
- * ARGUMENT : u_int8 id SRAM area ID
- * u_int32 off Source SRAM Offset (bytes)
- * void *pbuf Destination buffer pointer
- * u_int32 size Transfer data size(bytes)
- * RETURN : RET_API
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-RET_API
-PbSramRd32(u_int8 id, u_int32 off, void *pbuf, u_int32 size) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- RET_API ret_sts = RET_OSERROR;
- return(ret_sts);
-}
-// LCOV_EXCL_STOP
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : SramSz
- * ABSTRACT : Acquisition of SRAM ID size
- * NOTE : Get the effective area size of the specified SRAM ID.
- * ARGUMENT : u_int8 id SRAM area ID
- * u_int16 *psize Size (bytes)
- * RETURN : RET_API
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-RET_API
-SramSz(u_int8 id, u_int16 *psize) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- RET_API ret_sts = RET_OSERROR;
- u_int32 size32 = 0;
-
- ret_sts = PbSramSz32(id, &size32);
- if (ret_sts == RET_NORMAL) {
- if (size32 <= 0x0000FFFF) {
- *psize = (u_int16)size32;
- } else {
- /* When the size of the specified ID is u_int16 or greater */
- ret_sts = RET_ERRPARAM;
- }
- }
-
- return(ret_sts);
-}
-// LCOV_EXCL_STOP
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : PbSramSz32
- * ABSTRACT : Acquisition of SRAM ID size
- * NOTE : Get the effective area size of the specified SRAM ID.
- * ARGUMENT : u_int8 id SRAM area ID
- * u_int32 *psize Size (bytes)
- * RETURN : RET_API
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-RET_API
-PbSramSz32(u_int8 id, u_int32 *psize) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- RET_API ret_sts = RET_OSERROR;
- return(ret_sts);
-}
-// LCOV_EXCL_STOP
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : SramRWChk
- * ABSTRACT : SRAM read/write check processing
- * NOTE : Checking whether SRAM can be read/written correctly
- * ARGUMENT : None
- * RETURN : RET_API
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-RET_API
-SramRWChk(void) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- RET_API ret_sts = RET_NORMAL; /* Result */
- return ret_sts;
-}
-// LCOV_EXCL_STOP
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : AsyncFWt
- * ABSTRACT : Asynchronous Data HDD Backup Processing
- * NOTE :
- * ARGUMENT : void
- * RETURN : RET_API defined
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-RET_API AsyncFWt(void) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- RET_API ret_sts = RET_OSERROR;
- /* _CWORD121_ compliant ret_sts = Backup_AsyncForcibleWrite(); */
- return(ret_sts);
-}
-// LCOV_EXCL_STOP
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : SramWtAccOff
- * ABSTRACT : Asynchronous Data HDD Backup Process at ACC-OFF
- * NOTE : Saving Asynchronous Data to Hard Drives at ACC-OFF
- * ARGUMENT : void
- * RETURN : RET_API defined
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-RET_API SramWtAccOff(void) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- RET_API ret_sts = RET_OSERROR;
- /* _CWORD121_ compliant ret_sts = Backup_AccOffNotify(); */
- return(ret_sts);
-}
-// LCOV_EXCL_STOP
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : DataWtWaitHDDSpinup
- * ABSTRACT : HDD spin-up completion wait data save processing
- * NOTE : Save to the HDD
- * ARGUMENT : u_int16 para Startup Identification Value
- * RETURN : RET_API defined
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-RET_API
-DataWtWaitHDDSpinup(u_int16 para) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- RET_API ret_sts = RET_NORMAL; /* Result */
- return ret_sts;
-}
-// LCOV_EXCL_STOP
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : SramLoadFromExtDev
- * ABSTRACT : SRAM recovery processing
- * NOTE : Restore Static data stored as a file on an externally attached device
- * and the registry data to the HDD.
- * ARGUMENT : u_int32 device Device where the file to be restored resides
- * SD card:EXTDEV_STRAGECARD
- * PC card:EXTDEV_PCCARD
- * RET_API *err Error code
- * RETURN : Return only RET_ERROR (Just perform reset without returning of this function when normal end)
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-RET_API
-SramLoadFromExtDev(ANA_RET_API *err) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- RET_API ret_sts = RET_OSERROR;
- return(ret_sts);
-}
-// LCOV_EXCL_STOP
-
-/*
-* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- End of File : _pbSram.cpp
-* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-*/
-
diff --git a/video_in_hal/vehicleservice/positioning_base_library/library/src/_pbSum.cpp b/video_in_hal/vehicleservice/positioning_base_library/library/src/_pbSum.cpp
deleted file mode 100755
index 2964db7..0000000
--- a/video_in_hal/vehicleservice/positioning_base_library/library/src/_pbSum.cpp
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * @copyright Copyright (c) 2016-2020 TOYOTA MOTOR CORPORATION.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- File name : _pbSum.cpp
- System name :
- Subsystem name : System common functions
- Title : System APIs Asynchronous Data HDD Backup Processing
- --------------------------------------------------------------------------------------
-* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-
-#include <vehicle_service/positioning_base_library.h>
-
-/*
- Function prototype declarations
-* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * MODULE : Sum()
- * ABSTRACT : SUM calculation process
- * NOTE : Calculate the SUM value for the specified size from the SUM calculation start address.
- * ARGUMENT : void *p SUM calculation start address
- * int32 size Size (bytes)
- * u_int8 type Calculation width Byte :sizeof(u_char)
- * Word :sizeof(u_int16)
- * Long-word:sizeof(u_int32)
- * NOTE : Calculate the SUM value from the SUM calculation start address by the size specified by the calculation width.
- * RETURN : u_int32 SUM value
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-u_int32 Sum(void *p, int32 size, u_int8 type) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- u_int32 sum = 0; /* SUM value */
- u_int32 loop_cnt; /* Loop counter */
- u_int32 loop_num; /* Number of loops */
-
- /* Pointer size check */
- if ((p == NULL) || (size == 0)) {
- /* nop */
- } else {
- /* When the calculation width is "Long word" */
- if (type == sizeof(int32)) {
- u_int32 * ptr32 = reinterpret_cast<u_int32 *>(p); /* Long word pointer */
-
- /* Calculate the number of processes and loop for the number of Times to compute the Sum value. */
- loop_num = static_cast<u_int32>(size / sizeof(u_int32));
- for (loop_cnt = 0; loop_cnt < loop_num; loop_cnt++) {
- sum += *ptr32;
- ptr32++;
- }
- } else if (type == sizeof(int16)) {
- /* For "Word" */
- u_int16 * ptr16 = reinterpret_cast<u_int16 *>(p); /* Word pointer */
-
- loop_num = static_cast<u_int32>(size / sizeof(u_int16));
- for (loop_cnt = 0; loop_cnt < loop_num; loop_cnt++) {
- sum += *ptr16;
- ptr16++;
- }
- } else if (type == sizeof(char)) {
- /* For "Byte" */
- u_char * ptr8 = reinterpret_cast<u_char *>(p); /* Byte pointer */
-
- loop_num = static_cast<u_int32>(size / sizeof(u_char));
- for (loop_cnt = 0; loop_cnt < loop_num; loop_cnt++) {
- sum += *ptr8;
- ptr8++;
- }
- } else {
- /* For other than above */
- /* No processing */
- }
- }
- return sum;
-}
-// LCOV_EXCL_STOP
-
-/*
-* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- End of File : Sum.cpp
-* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-*/
-
diff --git a/video_in_hal/vehicleservice/positioning_base_library/library/src/_pbTimer.cpp b/video_in_hal/vehicleservice/positioning_base_library/library/src/_pbTimer.cpp
deleted file mode 100755
index f36711f..0000000
--- a/video_in_hal/vehicleservice/positioning_base_library/library/src/_pbTimer.cpp
+++ /dev/null
@@ -1,1115 +0,0 @@
-/*
- * @copyright Copyright (c) 2016-2020 TOYOTA MOTOR CORPORATION.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * @file
- * _pbTimer.cpp
- */
-/*---------------------------------------------------------------------------------*
- * Include Files *
- *---------------------------------------------------------------------------------*/
-#include <native_service/frameworkunified_framework_if.h>
-
-#include <native_service/ns_message_center_if.h>
-
-#include <vehicle_service/positioning_base_library.h>
-#include "TimerEntryDrv_If.h"
-#include "DEV_TimerEntryDrv_if.h"
-
-#include <native_service/ns_timer_if.h>
-#include "WPF_STD_private.h"
-
-
-/*---------------------------------------------------------------------------------*
- * Define *
- *---------------------------------------------------------------------------------*/
-#define MAX_CTRL_TIMER_NUM (8)
-
-#define CID_TIMER_1 (0x1000)
-#define CID_TIMER_2 (0x1001)
-#define CID_TIMER_3 (0x1002)
-#define CID_TIMER_4 (0x1003)
-#define CID_TIMER_5 (0x1004)
-#define CID_TIMER_6 (0x1005)
-#define CID_TIMER_7 (0x1006)
-#define CID_TIMER_8 (0x1007)
-
-#define TIMER_MAKE_DEFAULT_MESSAGE(x) \
- (x)->Header.signo = 0; \
- (x)->Header.hdr.sndpno = 0; \
- (x)->Header.hdr.respno = 0; \
- (x)->Header.hdr.cid = CID_TIMER_TOUT; \
- (x)->Header.hdr.msgbodysize = \
- static_cast<uint16_t>(sizeof(TimerToutMsg) - sizeof(T_APIMSG_MSGBUF_HEADER)); \
- (x)->Header.hdr.rid = 0; \
- (x)->Header.hdr.reserve = 0; \
- (x)->TimerSeq = 0;
-
-/*---------------------------------------------------------------------------------*
- * Structure *
- *---------------------------------------------------------------------------------*/
-/*!
- @brief Timer control information
-*/
-typedef struct {
- CID cid; /**< Command ID */
- HANDLE h_timer; /**< Timer handle */
- TimerToutMsg msg_buf; /**< Message buffer */
- uint16_t size; /**< Message size */
- PNO pno; /**< Process number */
- uint16_t seq_no; /**< Timer Sequence Number */
- uint8_t type; /**< Timer type */
- uint32_t time_out; /**< Timeout */
-} TIMER_CTRL_INFO;
-
-/*---------------------------------------------------------------------------------*
- * Local Function Prototype *
- *---------------------------------------------------------------------------------*/
-/* Timer control table manipulation functions */
-static void TimerSetCidOfCtrlTbl(u_int32 idx, CID cid); /* Set timer CID */
-static CID TimerGetCidOfCtrlTbl(u_int32 idx); /* Get timer CID */
-static void TimerSetPnoOfCtrlTbl(u_int32 idx, PNO pno); /* Set PNO */
-static PNO TimerGetPnoOfCtrlTbl(u_int32 idx); /* Get PNO */
-static void TimerSetSizeOfCtrlTbl(u_int32 idx, u_int16 size); /* Set message size */
-static TimerToutMsg* TimerGetMsgBufOfCtrlTbl(u_int32 idx); /* Get message buffer */
-static void TimerSetTimerHandleOfCtrlTbl(u_int32 idx, HANDLE handle); /* Set timer handle */
-static HANDLE TimerGetTimerHandleOfCtrlTbl(u_int32 idx); /* Get timer handle */
-static void TimerSetTypeOfCtrlTbl(u_int32 idx, u_int8 type); /* Set timer type */
-static u_int8 TimerGetTypeOfCtrlTbl(u_int32 idx); /* Get timer type */
-static void TimerSetSeqNoOfCtrlTbl(u_int32 idx, u_int16 seq_no); /* Set timer Sequence Number */
-static u_int16 TimerGetSeqNoOfCtrlTbl(u_int32 idx); /* Get timer sequence number */
-static void TimerSetTimeOutOfCtrlTbl(u_int32 idx, u_int32 time_out); /* Set timeout */
-static u_int32 TimerGetTimeOutOfCtrlTbl(u_int32 idx); /* Get timeout */
-static u_int32 TimerSearchEmptyOfCtrlTbl(void); /* Search unused area */
-static u_int32 TimerSearchTimerOfCtrlTbl(PNO snd_pno, u_int16 timer_seq, u_int8 time_type); /* Search specified timer */
-static void TimerClearSettingOfCtrlTbl(u_int32 idx); /* Clear timer information */
-
-/* Mutex handling Functions for accessing Timer Control Table */
-static void TimerCreateMutex(void); /* Create Mutex */
-static void TimerDeleteMutex(void); /* Delete Mutex */
-static void TimerLockMutex(void); /* Get Mutex */
-static void TimerUnlockMutex(void); /* Release Mutex */
-
-/* Callback function resources */
-static EFrameworkunifiedStatus TimerCallback1(HANDLE h_app);
-static EFrameworkunifiedStatus TimerCallback2(HANDLE h_app);
-static EFrameworkunifiedStatus TimerCallback3(HANDLE h_app);
-static EFrameworkunifiedStatus TimerCallback4(HANDLE h_app);
-static EFrameworkunifiedStatus TimerCallback5(HANDLE h_app);
-static EFrameworkunifiedStatus TimerCallback6(HANDLE h_app);
-static EFrameworkunifiedStatus TimerCallback7(HANDLE h_app);
-static EFrameworkunifiedStatus TimerCallback8(HANDLE h_app);
-
-static void TimerCallbackComProc(const uint8_t id);
-
-/*---------------------------------------------------------------------------------*
- * Grobal Values *
- *---------------------------------------------------------------------------------*/
-/**
- Timer control table
- Note : Access to this instance shall be made through the operation module.
-*/
-static TIMER_CTRL_INFO g_timer_ctrl_tbl[MAX_CTRL_TIMER_NUM]; // NOLINT(readability/nolint) global class instance
-
-/** Timer control table lock Mutex handle */
-static HANDLE g_h_mtx = NULL;
-
-/** Timer event destination handle */
-static HANDLE g_h_service;
-
-
-/** Dispatcher Registration Callback Table */
-static const FrameworkunifiedProtocolCallbackHandler kTimerPcbhs[] = {
- {CID_TIMER_1, &TimerCallback1 },
- {CID_TIMER_2, &TimerCallback2 },
- {CID_TIMER_3, &TimerCallback3 },
- {CID_TIMER_4, &TimerCallback4 },
- {CID_TIMER_5, &TimerCallback5 },
- {CID_TIMER_6, &TimerCallback6 },
- {CID_TIMER_7, &TimerCallback7 },
- {CID_TIMER_8, &TimerCallback8 },
-}; // LCOV_EXCL_BR_LINE 11:unexpected branch
-
-/*---------------------------------------------------------------------------------*
- * Function *
- *---------------------------------------------------------------------------------*/
-/**
- * @brief
- * Timer function initialization
- *
- * @return RET_NORMAL Normal completion
- * @return RET_ERROR ABEND
- */
-RET_API TimerInit(HANDLE h_app) {
- RET_API ret_api = RET_NORMAL;
- u_int32 idx;
- HANDLE h_timer;
- EFrameworkunifiedStatus estatus;
- NSTimerInfo timer_info;
- HANDLE* p_h_service = &g_h_service;
-
- if (h_app == NULL) { // LCOV_EXCL_BR_LINE 6: h_app cannot be Null
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "Argument ERROR!! [h_app=%p]", h_app);
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- ret_api = RET_ERROR; // LCOV_EXCL_LINE 6: h_app cannot be Null
- } else {
- memset(&timer_info, 0x00, sizeof(timer_info));
-
- /* Create Mutex */
- TimerCreateMutex(); // LCOV_EXCL_BR_LINE 200: no branch
-
- /* Register callback function for timer control */
- // LCOV_EXCL_BR_LINE 4: nsfw error
- estatus = FrameworkunifiedAttachCallbacksToDispatcher(h_app, "NS_ANY_SRC", kTimerPcbhs, _countof(kTimerPcbhs)); // LCOV_EXCL_BR_LINE 4: nsfw error // NOLINT(whitespace/line_length)
- if (estatus != eFrameworkunifiedStatusOK) { // LCOV_EXCL_BR_LINE 4: nsfw error
- /* When registration fails */
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, \
- "FrameworkunifiedAttachCallbacksToDispatcher ERROR [status:%d]", estatus);
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- ret_api = RET_ERROR; // LCOV_EXCL_LINE 4: nsfw error
- }
-
- /* Initialization of timer control table */
- for (idx = 0; idx < MAX_CTRL_TIMER_NUM; idx++) {
- TimerSetCidOfCtrlTbl(idx, static_cast<CID>(kTimerPcbhs[idx].iCmd)); /* Set timer control CID */ // LCOV_EXCL_BR_LINE 200: no branch // NOLINT(whitespace/line_length)
-
- /* Initialize timeout */
- TimerSetTimeOutOfCtrlTbl(idx, 0); // LCOV_EXCL_BR_LINE 200: no branch
-
- *p_h_service = McOpenSender("Positioning"); /* Be intended for use only in Positioning */ // LCOV_EXCL_BR_LINE 4: nsfw error // NOLINT(whitespace/line_length)
-
- /* Create Timer Resource */
- timer_info.iCmd = TimerGetCidOfCtrlTbl(idx); /* Only CID needs to be set. */ // LCOV_EXCL_BR_LINE 200: no branch
- h_timer = NS_TimerCreate(timer_info, CALLBACK_MESSAGE, (HANDLE)*p_h_service); // LCOV_EXCL_BR_LINE 4: nsfw error // NOLINT(whitespace/line_length)
- if (h_timer == NULL) { // LCOV_EXCL_BR_LINE 4: nsfw error
- // LCOV_EXCL_START 4: nsfw error
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- /* When an error occurs */
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, \
- "NS_TimerCreate ERROR [h_timer:%p, hService:%p]", h_timer, *p_h_service);
- ret_api = RET_ERROR;
- // LCOV_EXCL_STOP
- } else {
- /* If successful */
- /* Set Handle information */
- TimerSetTimerHandleOfCtrlTbl(idx, h_timer); // LCOV_EXCL_BR_LINE 200: no branch
- }
- }
- }
-
- return ret_api;
-}
-
-/**
- * @brief
- * Terminate timer function
- *
- * @return Normal completion
- */
-RET_API TimerTerm(void) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- RET_API ret_api = RET_NORMAL;
- u_int32 idx;
- HANDLE h_timer;
- EFrameworkunifiedStatus estatus;
- HANDLE* p_h_service = &g_h_service;
-
- /* If a control Mutex has not been created, it is determined that the Timer function has not been initialized (non Positioning processes) and the process terminates with an error. */
- if (g_h_mtx == NULL) {
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "g_h_mtx is NULL!!");
- ret_api = RET_ERROR;
- } else {
- /* Delete timer control information */
- for (idx = 0; idx < MAX_CTRL_TIMER_NUM; idx++) {
- h_timer = TimerGetTimerHandleOfCtrlTbl(idx);
- if (h_timer != NULL) {
- /* Delete timer */
- estatus = NS_TimerDelete(h_timer);
- if (estatus != eFrameworkunifiedStatusOK) {
- /* When an error occurs */
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, \
- "NS_TimerDelete ERROR [estatus:%d, h_timer:%p]", estatus, h_timer);
- }
- TimerSetTimerHandleOfCtrlTbl(idx, NULL);
- }
-
- TimerClearSettingOfCtrlTbl(idx);
- }
-
- /* Mutex deletion */
- TimerDeleteMutex();
- }
-
- /* Delete transmission handle */
- estatus = McClose(*p_h_service);
- if (estatus != eFrameworkunifiedStatusOK) {
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "McClose ERROR [estatus:%d, hService:%p]", \
- estatus, *p_h_service);
- }
-
- return ret_api;
-}
-// LCOV_EXCL_STOP
-
-/**
- * @brief
- * Fixed period/asynchronous timer start instruction
- *
- * @param[in] snd_pno Requesting process number
- * @param[in] timer_seq Timer sequence number
- * @param[in] TimerType Timer type
- * @param[in] time_out Timeout value [10ms]
- *
- * @return RET_NORMAL Normal completion<br>
- * RET_ERROR Message transmission error<br>
- * RET_ERRPARAM Parameter error
- */
-RET_API _pb_ReqTimerStart(PNO snd_pno, u_int16 timer_seq, // NOLINT(readability/nolint) WPF_SYSAPI.h API
- u_int8 time_type, u_int32 time_out) {
- RET_API ret_api = RET_NORMAL; /* Return value of this module */
- u_int32 idx;
- TimerToutMsg *p_msg;
- EFrameworkunifiedStatus estatus;
- HANDLE h_timer;
- NSTimerInfo timer_info;
-
- FRAMEWORKUNIFIEDLOG(ZONE_20, __FUNCTION__, "+");
-
- /* If a control Mutex has not been created, it is determined that the Timer function has not been initialized (non Positioning processes) and the process terminates with an error. */
- if (g_h_mtx == NULL) { // LCOV_EXCL_BR_LINE 6: g_h_mtx cannot be null
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "g_h_mtx is NULL!!");
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- ret_api = RET_ERROR; // LCOV_EXCL_LINE 6: g_h_mtx cannot be null
- } else {
- /* Parameter study */
- if ((time_type != TIMER_TYPE_SYN) && (time_type != TIMER_TYPE_USN)) {
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "Argument ERROR [time_type:%d]", time_type);
- ret_api = RET_ERRPARAM; /* Timer type error */
- }
-
- if (time_out == 0) {
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "Argument ERROR [time_out:%d]", time_out);
- ret_api = RET_ERRPARAM; /* Timer setting value error */
- }
-
- /* When a timer of the same process number, sequence number, or type is already registered, creation of the timer is not allowed. */
- idx = TimerSearchTimerOfCtrlTbl(snd_pno, timer_seq, time_type);
- if (idx != MAX_CTRL_TIMER_NUM) {
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "TimerSearchTimerOfCtrlTbl ERROR!! " \
- "[snd_pno:%d, timer_seq:%d, TimeType:%d]", snd_pno, timer_seq, time_type);
- ret_api = RET_ERRPARAM; /* Invalid timer value */
- }
-
- /* Parameter normal */
- if (ret_api == RET_NORMAL) {
- TimerLockMutex(); /* Get Mutex */
-
- /* Get free space in timer control table */
- idx = TimerSearchEmptyOfCtrlTbl(); // LCOV_EXCL_BR_LINE 200: no branch
- if (idx == MAX_CTRL_TIMER_NUM) { // LCOV_EXCL_BR_LINE 200: idx can not be MAX_CTRL_TIMER_NUM
- // LCOV_EXCL_START 200: idx can not be MAX_CTRL_TIMER_NUM
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- /* When there is no free space */
- /* Be impossible by design */
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "TimerSearchEmptyCtrlTbl ERROR!! " \
- "[idx = %d]", idx);
- _pb_Exit();
- /* don't arrive here. */
- // LCOV_EXCL_STOP
- }
-
- /* Get message buffer address */
- p_msg = TimerGetMsgBufOfCtrlTbl(idx);
-
- TIMER_MAKE_DEFAULT_MESSAGE(p_msg); /* Set message data to be send */
- p_msg->TimerSeq = timer_seq; /* Timer sequence number */
-
- /* Set callback function information in timer control table */
- TimerSetPnoOfCtrlTbl(idx, snd_pno); // LCOV_EXCL_BR_LINE 200: no branch
- TimerSetSizeOfCtrlTbl(idx, sizeof(TimerToutMsg)); // LCOV_EXCL_BR_LINE 200: no branch
- TimerSetTypeOfCtrlTbl(idx, time_type); // LCOV_EXCL_BR_LINE 200: no branch
- TimerSetSeqNoOfCtrlTbl(idx, timer_seq); // LCOV_EXCL_BR_LINE 200: no branch
- TimerSetTimeOutOfCtrlTbl(idx, time_out); // LCOV_EXCL_BR_LINE 200: no branch
-
- /* Set timer value */
- timer_info.t_sec = (uint32_t)((10 * time_out) / 1000);
- /* Coverity CID: 21979 compliant */
- timer_info.t_nsec = ((10 * (uint64_t)time_out) - ((uint64_t)(timer_info.t_sec) * 1000)) * 1000 * 1000;
- timer_info.iCmd = TimerGetCidOfCtrlTbl(idx);
- timer_info.rpt_sec = 0;
- timer_info.rpt_nsec = 0;
- if (time_type == TIMER_TYPE_SYN) {
- timer_info.rpt_sec = timer_info.t_sec;
- timer_info.rpt_nsec = timer_info.t_nsec;
- }
-
- h_timer = TimerGetTimerHandleOfCtrlTbl(idx);
-
- /* Start timer */
- estatus = NS_TimerSetTime(h_timer, timer_info); // LCOV_EXCL_BR_LINE 4: nsfw error
- if ((h_timer == NULL) || (estatus != eFrameworkunifiedStatusOK)) { // LCOV_EXCL_BR_LINE 4: nsfw error
- // LCOV_EXCL_START 4: nsfw error
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- /* When an error occurs */
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "NS_TimerSetTime ERROR " \
- "[estatus:%d, h_timer:%p]", estatus, h_timer);
-
- TimerClearSettingOfCtrlTbl(idx); /* Clear timer information */
- ret_api = RET_ERROR;
- // LCOV_EXCL_STOP
- } else {
- /* If successful */
- FRAMEWORKUNIFIEDLOG(ZONE_20, __FUNCTION__, "### TIMER TABLE INFORMATION # " \
- "(++) idx:%d cid:%d h_timer:%p pno:%d seq_no:%d type:%d time_out:%d", \
- idx, g_timer_ctrl_tbl[idx].cid, g_timer_ctrl_tbl[idx].h_timer, g_timer_ctrl_tbl[idx].pno, \
- g_timer_ctrl_tbl[idx].seq_no, g_timer_ctrl_tbl[idx].type, g_timer_ctrl_tbl[idx].time_out);
- }
-
- TimerUnlockMutex(); /* Release Mutex */ // LCOV_EXCL_BR_LINE 200: no branch
- }
- }
-
- FRAMEWORKUNIFIEDLOG(ZONE_20, __FUNCTION__, "-");
-
- return ret_api;
-}
-
-/**
- * @brief
- * Timer stop instruction
- *
- * @param[in] snd_pno Requesting process number
- * @param[in] timer_seq Timer sequence number
- * @param[in] time_r_type Timer type<br>
- * TIMER_TYPE_SYN Fixed-period timer<br>
- * TIMER_TYPE_USN Asynchronous timer<br>
- * TIMER_TYPE_ALM Alerm with specified time <br>
- *
- * @return RET_NORMAL Normal completion<br>
- * RET_ERROR Message transmission error<br>
- * RET_ERRPARAM Parameter error
- */
-RET_API _pb_TimerStop(PNO snd_pno, u_int16 timer_seq, // NOLINT(readability/nolint) WPF_SYSAPI.h API
- u_int8 time_type) {
- RET_API ret_api = RET_NORMAL; /* Return value of this module */
- u_int32 idx;
- EFrameworkunifiedStatus estatus;
- HANDLE h_timer;
- const NSTimerInfo timer_info = {0};
-
- FRAMEWORKUNIFIEDLOG(ZONE_20, __FUNCTION__, "+");
-
- /* If a control Mutex has not been created, it is determined that the Timer function has not been initialized (non Positioning processes) and the process terminates with an error. */
- if (g_h_mtx == NULL) { // LCOV_EXCL_BR_LINE 6: g_h_mtx cannot be NULL
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "g_h_mtx is NULL!!");
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- ret_api = RET_ERROR; // LCOV_EXCL_LINE 6: g_h_mtx cannot be NULL
- } else {
- TimerLockMutex(); /* Get Mutex */ // LCOV_EXCL_BR_LINE 200: no branch
-
- idx = TimerSearchTimerOfCtrlTbl(snd_pno, timer_seq, time_type);
- if (idx == MAX_CTRL_TIMER_NUM) { // LCOV_EXCL_BR_LINE 200: idx can not be MAX_CTRL_TIMER_NUM
- /* When the specified timer is not set */
- /* nop */
- } else {
- h_timer = TimerGetTimerHandleOfCtrlTbl(idx);
-
- /* Stop timer */
- estatus = NS_TimerSetTime(h_timer, timer_info); // LCOV_EXCL_BR_LINE 4: nsfw error
- if (estatus != eFrameworkunifiedStatusOK) { // LCOV_EXCL_BR_LINE 4: nsfw error
- // LCOV_EXCL_START 4: nsfw error
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- /* When deletion fails */
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "NS_TimerSetTime ERROR " \
- "[estatus:%d, h_timer:%p]", estatus, h_timer);
- ret_api = RET_ERROR;
- // LCOV_EXCL_STOP
- } else {
- /* If successful */
- /* Clear timer information */
- TimerClearSettingOfCtrlTbl(idx); // LCOV_EXCL_BR_LINE 200: no branch
-
- FRAMEWORKUNIFIEDLOG(ZONE_20, __FUNCTION__, "### TIMER TABLE INFORMATION # " \
- "(--) idx:%d cid:%d h_timer:%p pno:%d seq_no:%d type:%d time_out:%d", \
- idx, g_timer_ctrl_tbl[idx].cid, g_timer_ctrl_tbl[idx].h_timer, g_timer_ctrl_tbl[idx].pno, \
- g_timer_ctrl_tbl[idx].seq_no, g_timer_ctrl_tbl[idx].type, g_timer_ctrl_tbl[idx].time_out);
- }
- }
-
- TimerUnlockMutex(); /* Release Mutex */ // LCOV_EXCL_BR_LINE 200: no branch
- }
-
- FRAMEWORKUNIFIEDLOG(ZONE_20, __FUNCTION__, "-");
-
- return ret_api;
-}
-
-/*---------------------------------------------------------------------------------*
- * Local Function *
- *---------------------------------------------------------------------------------*/
-/**
- * @brief
- * Timer CID setting (Timer control table)
- *
- * If an invalid value is specified for an argument, the system assumes that it is a design problem and calls _pb_Exit().
- *
- * @param[in] idx Control table accessor
- * @param[in] cid Command ID
- */
-static void TimerSetCidOfCtrlTbl(u_int32 idx, CID cid) {
- /* check index */
- if (idx >= MAX_CTRL_TIMER_NUM) { // LCOV_EXCL_BR_LINE 6: idx cannot greater
- /* forbidden */
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "Argment ERROR [idx:%d]", idx);
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- _pb_Exit(); // LCOV_EXCL_LINE 6: idx cannot greater
- /* don't arrive here. */
- } else {
- g_timer_ctrl_tbl[idx].cid = cid;
- }
-
- return;
-}
-
-/**
- * @brief
- * Timer CID acquisition (Timer control table)
- *
- * If an invalid value is specified for an argument, the system assumes that it is a design problem and calls _pb_Exit().
- *
- * @param[in] idx Timer control table accessor
- *
- * @return Command ID
- */
-static CID TimerGetCidOfCtrlTbl(u_int32 idx) {
- /* check index */
- if (idx >= MAX_CTRL_TIMER_NUM) { // LCOV_EXCL_BR_LINE 6: idx cannot greater
- /* forbidden */
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "Argment ERROR [idx:%d]", idx);
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- _pb_Exit(); // LCOV_EXCL_LINE 6: idx cannot greater
- /* don't arrive here. */
- }
-
- return g_timer_ctrl_tbl[idx].cid;
-}
-
-/**
- * @brief
- * PNO setting (Timer control table)
- *
- * If an invalid value is specified for an argument, the system assumes that it is a design problem and calls _pb_Exit().
- *
- * @param[in] idx Timer control table accessor
- * @param[in] pno Process number
- */
-static void TimerSetPnoOfCtrlTbl(u_int32 idx, PNO pno) {
- /* check index */
- if (idx >= MAX_CTRL_TIMER_NUM) { // LCOV_EXCL_BR_LINE 6: idx cannot greater
- /* forbidden */
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "Argment ERROR " \
- "[idx:%d, pno:%d]", idx, pno);
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- _pb_Exit(); // LCOV_EXCL_LINE 6: idx cannot greater
- /* don't arrive here. */
- } else {
- g_timer_ctrl_tbl[idx].pno = pno;
- }
-
- return;
-}
-
-/**
- * @brief
- * PNO acquisition (Timer control table)
- *
- * If an invalid value is specified for an argument, the system assumes that it is a design problem and calls _pb_Exit().
- *
- * @param[in] idx Timer control table accessor
- *
- * @return Process number
- */
-static PNO TimerGetPnoOfCtrlTbl(u_int32 idx) {
- /* check index */
- if (idx >= MAX_CTRL_TIMER_NUM) { // LCOV_EXCL_BR_LINE 6: idx cannot greater
- /* forbidden */
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "Argment ERROR [idx:%d]", idx);
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- _pb_Exit(); // LCOV_EXCL_LINE 6: idx cannot greater
- /* don't arrive here. */
- }
-
- return g_timer_ctrl_tbl[idx].pno;
-}
-
-/**
- * @brief
- * Message size setting (Timer control table)
- *
- * If an invalid value is specified for an argument, the system assumes that it is a design problem and calls _pb_Exit().
- *
- * @param[in] idx Timer control table accessor
- * @param[in] size Message size
- */
-static void TimerSetSizeOfCtrlTbl(u_int32 idx, u_int16 size) {
- /* check index */
- if (idx >= MAX_CTRL_TIMER_NUM) { // LCOV_EXCL_BR_LINE 6: idx cannot greater
- /* forbidden */
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "Argment ERROR " \
- "[idx:%d, size:%d]", idx, size);
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- _pb_Exit(); // LCOV_EXCL_LINE 6: idx cannot greater
- /* don't arrive here. */
- } else {
- g_timer_ctrl_tbl[idx].size = size;
- }
-
- return;
-}
-
-/**
- * @brief
- * Message buffer acquisition (Timer control table)
- *
- * If an invalid value is specified for an argument, the system assumes that it is a design problem and calls _pb_Exit().
- *
- * @param[in] idx Timer control table accessor
- *
- * @return Pointer to message storage area
- */
-static TimerToutMsg* TimerGetMsgBufOfCtrlTbl(u_int32 idx) {
- /* check index */
- if (idx >= MAX_CTRL_TIMER_NUM) { // LCOV_EXCL_BR_LINE 6: idx cannot greater
- /* forbidden */
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "Argment ERROR [idx:%d]", idx);
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- _pb_Exit(); // LCOV_EXCL_LINE 6: idx cannot greater
- /* don't arrive here. */
- }
-
- return &(g_timer_ctrl_tbl[idx].msg_buf);
-}
-
-/**
- * @brief
- * Timer handle setting (Timer control table)
- *
- * If an invalid value is specified for an argument, the system assumes that it is a design problem and calls _pb_Exit().
- *
- * @param[in] idx Timer control table accessor
- * @param[in] handle Timer handle
- */
-static void TimerSetTimerHandleOfCtrlTbl(u_int32 idx, HANDLE handle) {
- /* check index */
- if (idx >= MAX_CTRL_TIMER_NUM) { // LCOV_EXCL_BR_LINE 6: idx cannot greater
- /* forbidden */
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "Argment ERROR " \
- "[idx:%d, handle:%p]", idx, handle);
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- _pb_Exit(); // LCOV_EXCL_LINE 6: idx cannot greater
- /* don't arrive here. */
- } else {
- g_timer_ctrl_tbl[idx].h_timer = handle;
- }
-
- return;
-}
-
-/**
- * @brief
- * Timer handle acquisition (Timer control table)
- *
- * If an invalid value is specified for an argument, the system assumes that it is a design problem and calls _pb_Exit().
- *
- * @param[in] idx Timer control table accessor
- *
- * @return Timer handle
- */
-static HANDLE TimerGetTimerHandleOfCtrlTbl(u_int32 idx) {
- /* check index */
- if (idx >= MAX_CTRL_TIMER_NUM) { // LCOV_EXCL_BR_LINE 6: idx cannot greater
- /* forbidden */
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "Argment ERROR [idx:%d]", idx);
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- _pb_Exit(); // LCOV_EXCL_LINE 6: idx cannot greater
- /* don't arrive here. */
- }
-
- return g_timer_ctrl_tbl[idx].h_timer;
-}
-
-/**
- * @brief
- * Timer type setting (Timer control table)
- *
- * If an invalid value is specified for an argument, the system assumes that it is a design problem and calls _pb_Exit().
- *
- * @param[in] idx Timer control table accessor
- * @param[in] type Timer type
- */
-static void TimerSetTypeOfCtrlTbl(u_int32 idx, u_int8 type) {
- /* check index */
- if (idx >= MAX_CTRL_TIMER_NUM) { // LCOV_EXCL_BR_LINE 6: idx cannot greater
- /* forbidden */
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "Argment ERROR " \
- "[idx:%d, type:%d]", idx, type);
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- _pb_Exit(); // LCOV_EXCL_LINE 6: idx cannot greater
- /* don't arrive here. */
- } else {
- g_timer_ctrl_tbl[idx].type = type;
- }
-
- return;
-}
-
-/**
- * @brief
- * Timer type acquisition (Timer control table)
- *
- * If an invalid value is specified for an argument, the system assumes that it is a design problem and calls _pb_Exit().
- *
- * @param[in] idx Timer control table accessor
- *
- * @return Timer handle
- */
-static u_int8 TimerGetTypeOfCtrlTbl(u_int32 idx) {
- /* check index */
- if (idx >= MAX_CTRL_TIMER_NUM) { // LCOV_EXCL_BR_LINE 6: idx cannot greater
- /* forbidden */
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "Argment ERROR [idx:%d]", idx);
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- _pb_Exit(); // LCOV_EXCL_LINE 6: idx cannot greater
- /* don't arrive here. */
- }
-
- return g_timer_ctrl_tbl[idx].type;
-}
-
-/**
- * @brief
- * Timer sequence number setting (Timer control table)
- *
- * If an invalid value is specified for an argument, the system assumes that it is a design problem and calls _pb_Exit().
- *
- * @param[in] idx Timer control table accessor
- * @param[in] seq_no Timer Sequence Number
- */
-static void TimerSetSeqNoOfCtrlTbl(u_int32 idx, u_int16 seq_no) {
- /* check index */
- if (idx >= MAX_CTRL_TIMER_NUM) { // LCOV_EXCL_BR_LINE 6: idx cannot greater
- /* forbidden */
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "Argment ERROR " \
- "[idx:%d, seq_no:%d]", idx, seq_no);
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- _pb_Exit(); // LCOV_EXCL_LINE 6: idx cannot greater
- /* don't arrive here. */
- } else {
- g_timer_ctrl_tbl[idx].seq_no = seq_no;
- }
-
- return;
-}
-
-/**
- * @brief
- * Timer sequence number acquisition (Timer control table)
- *
- * If an invalid value is specified for an argument, the system assumes that it is a design problem and calls _pb_Exit().
- *
- * @param[in] idx Timer control table accessor
- */
-static u_int16 TimerGetSeqNoOfCtrlTbl(u_int32 idx) {
- /* check index */
- if (idx >= MAX_CTRL_TIMER_NUM) { // LCOV_EXCL_BR_LINE 6: idx cannot greater
- /* forbidden */
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "Argment ERROR [idx:%d]", idx);
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- _pb_Exit(); // LCOV_EXCL_LINE 6: idx cannot greater
- /* don't arrive here. */
- }
-
- return g_timer_ctrl_tbl[idx].seq_no;
-}
-
-/**
- * @brief
- * Timeout setting (Timer control table)
- *
- * If an invalid value is specified for an argument, the system assumes that it is a design problem and calls _pb_Exit().
- *
- * @param[in] idx Timer control table access Index
- * @param[in] time_out Timeout
- */
-static void TimerSetTimeOutOfCtrlTbl(u_int32 idx, u_int32 time_out) {
- /* check index */
- if (idx >= MAX_CTRL_TIMER_NUM) { // LCOV_EXCL_BR_LINE 6: idx cannot greater
- /* forbidden */
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "Argment ERROR [idx:%d, " \
- "time_out:%d]", idx, time_out);
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- _pb_Exit(); // LCOV_EXCL_LINE 6: idx cannot greater
- /* don't arrive here. */
- } else {
- g_timer_ctrl_tbl[idx].time_out = time_out;
- }
-
- return;
-}
-
-/**
- * @brief
- * Timeout acquisition (Timer control table)
- *
- * If an invalid value is specified for an argument, the system assumes that it is a design problem and calls _pb_Exit().
- *
- * @param[in] idx Timer control table access Index
- *
- * @return Timeout value
- */
-static u_int32 TimerGetTimeOutOfCtrlTbl(u_int32 idx) {
- /* check index */
- if (idx >= MAX_CTRL_TIMER_NUM) { // LCOV_EXCL_BR_LINE 6: idx cannot greater
- /* forbidden */
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "Argment ERROR [idx:%d]", idx);
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- _pb_Exit(); // LCOV_EXCL_LINE 6:idx cannot greater
- /* don't arrive here. */
- }
-
- return g_timer_ctrl_tbl[idx].time_out;
-}
-
-/**
- * @brief
- * Retreaval of unused area in the timer control table (Timer control table)
- *
- * Return the lowest-numbered index for accessing unused space in the Timer control table.
- * If the mutex is not registered, the maximum timer management value (MAX_CTRL_MUTEX_NUM)
- * is returned.
- *
- * @return Table accessor
- */
-static u_int32 TimerSearchEmptyOfCtrlTbl(void) {
- u_int32 idx;
- u_int32 time_out;
-
- for (idx = 0; idx < MAX_CTRL_TIMER_NUM; idx++) {
- time_out = TimerGetTimeOutOfCtrlTbl(idx);
-
- /* For unused space */
- if (time_out == 0) {
- break;
- }
- }
-
- return idx;
-}
-
-/**
- * @brief
- * Retrieval of specified timer for in the timer control table (Timer control table)
- *
- * Retrieve whether the specified timer is already registered in the timer control table.
- * If it is registered, the access index is returned. If it is not registered,
- * Return the maximum value of timer management (MAX_CTRL_TIMER_NUM).
- *
- * @param[in] snd_pno Process number
- * @param[in] TimerSeq Timer sequence number
- * @param[in] TimeType Timer type
- *
- * @return Index for access(If it is registered)<br>
- * Maximum mutex management value (Not registered)
- */
-static u_int32 TimerSearchTimerOfCtrlTbl(PNO snd_pno, u_int16 TimerSeq, u_int8 TimeType) {
- u_int32 idx;
- PNO pno;
- u_int16 seq_no;
- u_int8 type;
-
- for (idx = 0; idx < MAX_CTRL_TIMER_NUM; idx++) {
- pno = TimerGetPnoOfCtrlTbl(idx);
- seq_no = TimerGetSeqNoOfCtrlTbl(idx);
- type = TimerGetTypeOfCtrlTbl(idx);
-
- /* If there is a match */
- if ((pno == snd_pno) && (seq_no == TimerSeq) && (type == TimeType)) {
- break;
- }
- }
-
- return idx;
-}
-
-/**
- * @brief
- * Clear timer setting information
- *
- * @param[in] idx Timer control table accessor
- */
-static void TimerClearSettingOfCtrlTbl(u_int32 idx) {
- void *p_msg;
-
- /* Delete timer information */
- TimerSetPnoOfCtrlTbl(idx, 0);
- TimerSetSizeOfCtrlTbl(idx, 0);
- TimerSetTypeOfCtrlTbl(idx, 0);
- TimerSetSeqNoOfCtrlTbl(idx, 0);
- TimerSetTimeOutOfCtrlTbl(idx, 0);
- p_msg = TimerGetMsgBufOfCtrlTbl(idx);
- memset(p_msg, 0x00, sizeof(TimerToutMsg));
-
- return;
-}
-
-/**
- * @brief
- * Create Mutex for accessing the timer control table
- */
-static void TimerCreateMutex(void) {
- g_h_mtx = _pb_CreateMutex(NULL, 0, "Timer_Mutex");
- if (g_h_mtx == NULL) {
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "_pb_CreateMutex ERROR " \
- "[g_h_mtx:%p]", g_h_mtx);
- _pb_Exit();
- /* don't arrive here. */
- }
-
- return;
-}
-
-/**
- * @brief
- * Delete Mutex for accessing timer control table
- */
-static void TimerDeleteMutex(void) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- DWORD ret;
-
- ret = PbDeleteMutex(g_h_mtx);
- if (ret != WAIT_OBJECT_0) {
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "PbDeleteMutex ERROR " \
- "[ret:%lu, g_h_mtx:%p]", ret, g_h_mtx);
- _pb_Exit();
- /* don't arrive here. */
- }
-
- return;
-}
-// LCOV_EXCL_STOP
-
-/**
- * @brief
- * Get Mutex for accessing timer control table
- */
-static void TimerLockMutex(void) {
- DWORD ret;
-
- ret = PbMutexLock(g_h_mtx, INFINITE); // LCOV_EXCL_BR_LINE 200: lock will not failed
- if (ret != WAIT_OBJECT_0) { // LCOV_EXCL_BR_LINE 200: lock will not failed
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "PbMutexLock ERROR " \
- "[ret:%lu, g_h_mtx:%p]", ret, g_h_mtx);
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- _pb_Exit(); // LCOV_EXCL_LINE 200: lock will not failed
- /* don't arrive here. */
- }
-
- return;
-}
-
-/**
- * @brief
- * Release Mutex for accessing timer control table
- */
-static void TimerUnlockMutex(void) {
- BOOL ret;
-
- ret = PbMutexUnlock(g_h_mtx); // LCOV_EXCL_BR_LINE 200: unlock will not failed
- if (ret != TRUE) { // LCOV_EXCL_BR_LINE 200: unlock will not failed
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "PbMutexUnlock ERROR " \
- "[ret:%d, g_h_mtx:%p]", ret, g_h_mtx);
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- _pb_Exit(); // LCOV_EXCL_LINE 200: unlock will not failed
- /* don't arrive here. */
- }
-
- return;
-}
-
-/**
- * @brief
- * Timer Expiration Callback Functions
- *
- * For setting the timer creation function (NS_TimerCreate)<br>
- * TimerCallback1 ... TimerCallback8
- *
- * @param[in] h_app Application handle
- *
- * @return eFrameworkunifiedStatusOK Normal completion
- */
-static EFrameworkunifiedStatus TimerCallback1(HANDLE h_app) {
- static const u_int8 ID = 0;
-
- FRAMEWORKUNIFIEDLOG(ZONE_20, __FUNCTION__, "+");
-
- TimerCallbackComProc(ID);
-
- FRAMEWORKUNIFIEDLOG(ZONE_20, __FUNCTION__, "-");
-
- return eFrameworkunifiedStatusOK;
-}
-
-static EFrameworkunifiedStatus TimerCallback2(HANDLE h_app) {
- static const u_int8 ID = 1;
-
- FRAMEWORKUNIFIEDLOG(ZONE_20, __FUNCTION__, "+");
-
- TimerCallbackComProc(ID);
-
- FRAMEWORKUNIFIEDLOG(ZONE_20, __FUNCTION__, "-");
-
- return eFrameworkunifiedStatusOK;
-}
-
-static EFrameworkunifiedStatus TimerCallback3(HANDLE h_app) {
- static const u_int8 ID = 2;
-
- FRAMEWORKUNIFIEDLOG(ZONE_20, __FUNCTION__, "+");
-
- TimerCallbackComProc(ID);
-
- FRAMEWORKUNIFIEDLOG(ZONE_20, __FUNCTION__, "-");
-
- return eFrameworkunifiedStatusOK;
-}
-
-static EFrameworkunifiedStatus TimerCallback4(HANDLE h_app) {
- static const u_int8 ID = 3;
-
- FRAMEWORKUNIFIEDLOG(ZONE_20, __FUNCTION__, "+");
-
- TimerCallbackComProc(ID);
-
- FRAMEWORKUNIFIEDLOG(ZONE_20, __FUNCTION__, "-");
-
- return eFrameworkunifiedStatusOK;
-}
-
-static EFrameworkunifiedStatus TimerCallback5(HANDLE h_app) {
- static const u_int8 ID = 4;
-
- FRAMEWORKUNIFIEDLOG(ZONE_20, __FUNCTION__, "+");
-
- TimerCallbackComProc(ID);
-
- FRAMEWORKUNIFIEDLOG(ZONE_20, __FUNCTION__, "-");
-
- return eFrameworkunifiedStatusOK;
-}
-
-static EFrameworkunifiedStatus TimerCallback6(HANDLE h_app) {
- static const u_int8 ID = 5;
-
- FRAMEWORKUNIFIEDLOG(ZONE_20, __FUNCTION__, "+");
-
- TimerCallbackComProc(ID);
-
- FRAMEWORKUNIFIEDLOG(ZONE_20, __FUNCTION__, "-");
-
- return eFrameworkunifiedStatusOK;
-}
-
-static EFrameworkunifiedStatus TimerCallback7(HANDLE h_app) {
- static const u_int8 ID = 6;
-
- FRAMEWORKUNIFIEDLOG(ZONE_20, __FUNCTION__, "+");
-
- TimerCallbackComProc(ID);
-
- FRAMEWORKUNIFIEDLOG(ZONE_20, __FUNCTION__, "-");
-
- return eFrameworkunifiedStatusOK;
-}
-
-static EFrameworkunifiedStatus TimerCallback8(HANDLE h_app) {
- static const u_int8 ID = 7;
-
- FRAMEWORKUNIFIEDLOG(ZONE_20, __FUNCTION__, "+");
-
- TimerCallbackComProc(ID);
-
- FRAMEWORKUNIFIEDLOG(ZONE_20, __FUNCTION__, "-");
-
- return eFrameworkunifiedStatusOK;
-}
-
-static void TimerCallbackComProc(const uint8_t id) {
- uint8_t type;
-
- TimerLockMutex(); /* Get Mutex */
-
- /* Message is sent to the thread specified when the timer is created. */
- (void)_pb_SndMsg(g_timer_ctrl_tbl[id].pno, g_timer_ctrl_tbl[id].size, &(g_timer_ctrl_tbl[id].msg_buf), 0);
-
- type = TimerGetTypeOfCtrlTbl(id);
- if (type == TIMER_TYPE_USN) {
- /* One-shot timer */
- /* Clear timer information */
- TimerClearSettingOfCtrlTbl(id);
-
- FRAMEWORKUNIFIEDLOG(ZONE_20, __FUNCTION__, "### TIMER TABLE INFORMATION # " \
- "(--) idx:%d cid:%d h_timer:%p pno:%d seq_no:%d type:%d time_out:%d", \
- id, g_timer_ctrl_tbl[id].cid, g_timer_ctrl_tbl[id].h_timer, g_timer_ctrl_tbl[id].pno, \
- g_timer_ctrl_tbl[id].seq_no, g_timer_ctrl_tbl[id].type, g_timer_ctrl_tbl[id].time_out);
- }
-
- TimerUnlockMutex(); /* Release Mutex */
-
- return;
-}
-
-/**
- * @brief
- * Get dump information
- *
- * @param[out] p_buf Dump info
- */
-void _pb_GetDebugTimerMngTbl(void* p_buf) {
- static uint8_t buf[DEBUG_DUMP_MAX_SIZE];
- static uint8_t buf_tmp[256];
- uint32_t i;
-
- if (p_buf != NULL) {
- memset(&buf, 0x00, sizeof(buf));
- snprintf(reinterpret_cast<char *>(&(buf)), sizeof(buf), "Timer");
- for (i = 0; i < MAX_CTRL_TIMER_NUM; i++) {
- memset(&buf_tmp[0], 0x00, sizeof(buf_tmp));
- snprintf(reinterpret_cast<char *>(&buf_tmp[0]), sizeof(buf_tmp),
- "\n [%d] cid:%05d, hTim:%10p, sz:%05d, pno:0x%04x, seq:0x%04x, typ:%03d, tOut:%10d",
- i,
- g_timer_ctrl_tbl[i].cid,
- g_timer_ctrl_tbl[i].h_timer,
- g_timer_ctrl_tbl[i].size,
- g_timer_ctrl_tbl[i].pno,
- g_timer_ctrl_tbl[i].seq_no,
- g_timer_ctrl_tbl[i].type,
- g_timer_ctrl_tbl[i].time_out);
- strncat(reinterpret_cast<char *>(&buf[0]), reinterpret_cast<char *>(&buf_tmp[0]), \
- strlen(reinterpret_cast<char *>(&buf_tmp[0])));
- }
- memcpy(p_buf, &buf[0], sizeof(buf));
- }
-} // LCOV_EXCL_BR_LINE 10:The final line
diff --git a/video_in_hal/vehicleservice/positioning_base_library/library/src/_pbWaitforsingleobject.cpp b/video_in_hal/vehicleservice/positioning_base_library/library/src/_pbWaitforsingleobject.cpp
deleted file mode 100755
index 2111b3a..0000000
--- a/video_in_hal/vehicleservice/positioning_base_library/library/src/_pbWaitforsingleobject.cpp
+++ /dev/null
@@ -1,358 +0,0 @@
-/*
- * @copyright Copyright (c) 2016-2020 TOYOTA MOTOR CORPORATION.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/****************************************************************************
-@file waitforsingleobject.cpp
-@detail Functions that implement waitforsingleobject in PosixBasedOS001<BR>
- Functions to register/delete a table to determine the handle and its type
-*****************************************************************************/
-
-#include "_pbWaitforsingleobject.h"
-#include <vehicle_service/positioning_base_library.h>
-#include "WPF_STD_private.h"
-#include "_pbInternalProc.h"
-
-typedef struct HandleTypeTable {
- HANDLE h_handle; /* Registration handle */
- HANDLE_KIND l_kind; /* Type of Mutex/Semaphre/Event... */
- struct HandleTypeTable *next;
-} HANDLE_TYPE;
-
-static HANDLE_TYPE *g_pst_handle_kind_table = NULL;
-static pthread_mutex_t g_func_lock_mutex = PTHREAD_MUTEX_INITIALIZER; /* Consider replacing it later */
-
-/* Prototype declarations */
-static BOOL FindList(HANDLE_TYPE **p_list, HANDLE h_obj);
-static BOOL AddList(HANDLE_TYPE *p_add_list);
-static BOOL DelList(HANDLE_TYPE *h_del_obj);
-static BOOL FunctionLock(void);
-static BOOL FunctionUnlock(void);
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-* Public APIs
-* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-* _sys Internally Used APIs
-* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-
-/****************************************************************************
-@brief WaitObjectInit<BR>
- Initialization processing for each process
-@outline WaitObjectInit<BR>
- Initialization processing for each process
-@type Completion return type
-@return BOOL
-@retval TRUE : Normal
-@retval FALSE : Error
-*****************************************************************************/
-BOOL WaitObjectInit(void) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- g_pst_handle_kind_table = NULL;
- return TRUE;
-}
-// LCOV_EXCL_STOP
-
-/****************************************************************************
-@brief WaitObjectTerm<BR>
- Termination processing for each process
-@outline WaitObjectTerm<BR>
- Termination processing for each process
-@type Completion return type
-@return BOOL
-@retval TRUE : Normal
-@retval FALSE : Error
-*****************************************************************************/
-BOOL WaitObjectTerm(void) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- if (NULL != g_pst_handle_kind_table) {
- /* Should be Deleted a List? */
- }
- return TRUE;
-}
-// LCOV_EXCL_STOP
-
-/****************************************************************************
-@brief WaitObjectAdd<BR>
- Register a handle and a handle-type in a list
-@outline WaitObjectAdd<BR>
- Register a handle and a handle-type in a list
-@type Completion return type
-@param[in] HANDLE h_obj : Handle to register
-@param[in] HANDLE_KIND l_kind : Handle type
-
-@return BOOL
-@retval TRUE : Normal
- FALSE : Error
-*****************************************************************************/
-BOOL WaitObjectAdd(HANDLE h_obj, HANDLE_KIND l_kind) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- BOOL bret = FALSE;
- HANDLE_TYPE *p_add_list = NULL;
-
- if ((NULL != h_obj)
- && (PB_HANDLE_INVAL < l_kind)
- && (PB_HANDLE_KIND_MAX > l_kind)) {
- FunctionLock();
- bret = FindList(&p_add_list, h_obj);
- if (TRUE == bret) {
- /* Handle already registered */
- if (l_kind == p_add_list->l_kind) {
- /* re-register the same item */
- bret = TRUE;
- } else {
- /* An attempt was made to re-register the same handle with different type */
- bret = FALSE; /** Consider whether to win or not later */
- }
- } else {
- p_add_list = reinterpret_cast<HANDLE_TYPE*>(malloc(sizeof(HANDLE_TYPE)));
- if (NULL == p_add_list) {
- /* Memory acquisition failed */
- bret = FALSE;
- } else {
- memset(p_add_list, 0, sizeof(HANDLE_TYPE));
- p_add_list->h_handle = h_obj;
- p_add_list->l_kind = l_kind;
- p_add_list->next = NULL;
- bret = AddList(p_add_list);
- if (FALSE == bret) {
- /* Registration failure */
- free(p_add_list);
- bret = FALSE;
- } else {
- bret = TRUE;
- }
- }
- }
-
- FunctionUnlock();
-
- } else {
- bret = FALSE; /** Parameter error */
- }
- return bret;
-}
-// LCOV_EXCL_STOP
-
-/****************************************************************************
-@brief WaitObjectDel<BR>
- Remove handle and handle-type from the list
-@outline WaitObjectDel<BR>
- Remove handle and handle-type from the list
-@type Completion return type
-@param[in] HANDLE h_obj : Handle to delete
-
-@return BOOL
-@retval TRUE : Normal
- FALSE : Error
-*****************************************************************************/
-BOOL WaitObjectDel(HANDLE h_obj) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- BOOL bret = FALSE;
- HANDLE_TYPE *p_del_list = NULL;
-
- if (NULL != h_obj) {
- FunctionLock();
- bret = FindList(&p_del_list, h_obj);
- if (TRUE == bret) {
- /* handle already registered */
- if (TRUE == DelList(p_del_list)) {
- free(p_del_list);
- bret = TRUE;
- } else {
- bret = FALSE;
- }
- } else {
- bret = FALSE; /* no handles */
- }
-
- FunctionUnlock();
-
- } else {
- bret = FALSE; /* Parameter error */
- }
- return bret;
-}
-// LCOV_EXCL_STOP
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-* Private API
-* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-
-/****************************************************************************
-@brief FindList<BR>
- Searching for a Handle in the List
-@outline FindList<BR>
- Searching for a Handle in the List
-@type Completion return type
-@param[out] HANDLE_TYPE** p_list : Found list pointer
-@param[in] HANDLE h_obj : Handle to look for
-
-@return BOOL
-@retval TRUE : Normal (p_list != NULL)
- FALSE : Error (p_list == NULL)
-*****************************************************************************/
-static BOOL FindList(HANDLE_TYPE **p_list, HANDLE h_obj) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- HANDLE_TYPE *p_now = NULL;
- BOOL bret = FALSE;
-
- if ((NULL != h_obj) && (NULL != p_list)) {
- /* Search list */
- p_now = g_pst_handle_kind_table;
- while (NULL != p_now) {
- /* h_obj and p_now->h_handle are pointer type.*/
- if ((int64_t)h_obj == (int64_t)p_now->h_handle) {
- *p_list = p_now;
- bret = TRUE;
- break;
- }
- p_now = p_now->next;
- }
- } else {
- bret = FALSE; /** Parameter error */
- }
-
- return bret;
-}
-// LCOV_EXCL_STOP
-
-/****************************************************************************
-@brief AddList<BR>
- Append data to the end of the list
-@outline AddList<BR>
- Append data to the end of the list
-@type Completion return type
-@param[in] HANDLE_TYPE* p_list : Data to add
-
-@return BOOL
-@retval TRUE : Normal
- FALSE : Error
-*****************************************************************************/
-static BOOL AddList(HANDLE_TYPE *p_add_list) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- HANDLE_TYPE *p_now = NULL;
- BOOL bret = FALSE;
-
- if (NULL != p_add_list) {
- /* Add unregistered data */
- if (NULL == g_pst_handle_kind_table) {
- g_pst_handle_kind_table = p_add_list;
- bret = TRUE;
- } else {
- /* Add to end of list */
- p_now = g_pst_handle_kind_table;
- while (NULL != p_now) {
- if (NULL == p_now->next) {
- p_now->next = p_add_list;
- bret = TRUE;
- break;
- }
- p_now = p_now->next;
- }
- }
- } else {
- bret = FALSE; /** Parameter error */
- }
-
- return bret;
-}
-// LCOV_EXCL_STOP
-
-/****************************************************************************
-@brief DelList<BR>
- Remove specified data from a List
-@outline DelList<BR>
- Remove specified data from a List
-@type Completion return type
-@param[in,out] HANDLE_TYPE* h_del_obj :
-
-@return BOOL
-@retval TRUE : Normal
- FALSE : End
-*****************************************************************************/
-static BOOL DelList(HANDLE_TYPE *h_del_obj) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- HANDLE_TYPE *p_now = NULL;
- HANDLE_TYPE *pBef = NULL;
- BOOL bret = FALSE;
-
- if (NULL != h_del_obj) {
- /* Add to end of list */
- p_now = g_pst_handle_kind_table;
- while (NULL != p_now) {
- if (h_del_obj == p_now) {
- if (NULL == pBef) {
- /* Delete first */
- g_pst_handle_kind_table = p_now->next;
- } else {
- /* Others */
- pBef->next = h_del_obj->next;
- }
- bret = TRUE;
- break;
- }
- pBef = p_now;
- p_now = p_now->next;
- }
- } else {
- bret = FALSE; /** Parameter error */
- }
-
- return bret;
-}
-// LCOV_EXCL_STOP
-
-/****************************************************************************
-@brief FunctionLock<BR>
- Start locking of g_pst_handle_kind_table
-@outline FunctionLock<BR>
- Start locking of g_pst_handle_kind_table
-@type Completion return type
-@return BOOL
-@retval TRUE : Normal
-@retval FALSE : Error
-*****************************************************************************/
-static BOOL FunctionLock(void) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- BOOL bret = FALSE;
- if (EOK == pthread_mutex_lock(&g_func_lock_mutex)) {
- bret = TRUE;
- }
- return bret;
-}
-// LCOV_EXCL_STOP
-
-/****************************************************************************
-@brief FunctionUnlock<BR>
- Terminate locking of g_pst_handle_kind_table
-@outline FunctionUnlock<BR>
- Terminate locking of g_pst_handle_kind_table
-@type Completion return type
-@return BOOL
-@retval TRUE : Normal
-@retval FALSE : Error
-*****************************************************************************/
-static BOOL FunctionUnlock(void) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- BOOL bret = FALSE;
- if (EOK == pthread_mutex_unlock(&g_func_lock_mutex)) {
- bret = TRUE;
- }
- return bret;
-}
-// LCOV_EXCL_STOP
-
diff --git a/video_in_hal/vehicleservice/positioning_base_library/library/src/memcpy_64p_sync.cpp b/video_in_hal/vehicleservice/positioning_base_library/library/src/memcpy_64p_sync.cpp
deleted file mode 100755
index 204c516..0000000
--- a/video_in_hal/vehicleservice/positioning_base_library/library/src/memcpy_64p_sync.cpp
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * @copyright Copyright (c) 2016-2020 TOYOTA MOTOR CORPORATION.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <vehicle_service/positioning_base_library.h>
-
-
-#include "WPF_STD_private.h"
-void* Memcpy64pSync(void* dest, const void* src, size_t count) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- return _pb_memcpy(dest, src, count);
-}
-// LCOV_EXCL_STOP
diff --git a/video_in_hal/vehicleservice/positioning_base_library/library/src/memset_64p_sync.cpp b/video_in_hal/vehicleservice/positioning_base_library/library/src/memset_64p_sync.cpp
deleted file mode 100755
index ad6c11e..0000000
--- a/video_in_hal/vehicleservice/positioning_base_library/library/src/memset_64p_sync.cpp
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * @copyright Copyright (c) 2016-2020 TOYOTA MOTOR CORPORATION.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <string.h>
-#include <vehicle_service/positioning_base_library.h>
-#include "WPF_STD_private.h"
-
-void* Memset64pSync(void* dest, int c, size_t count) { // LCOV_EXCL_START 8:dead code
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- return _pb_memset(dest, c, count);
-}
-// LCOV_EXCL_STOP