From 9e86046cdb356913ae026f616e5bf17f6f238aa5 Mon Sep 17 00:00:00 2001 From: Tadao Tanikawa Date: Fri, 20 Nov 2020 23:17:04 +0900 Subject: Remove unused directories and files in video_in_hal The directory video_in_hal contained a lot of unnecessary directories and files which supposed to have been accidentally copied from staging/toyota.git druing migration. Signed-off-by: Tadao Tanikawa Change-Id: I12f2d72562bc008080ae866831d966c0b751914c --- .../library/src/_pbMsg.cpp | 1572 -------------------- 1 file changed, 1572 deletions(-) delete mode 100755 video_in_hal/vehicleservice/positioning_base_library/library/src/_pbMsg.cpp (limited to 'video_in_hal/vehicleservice/positioning_base_library/library/src/_pbMsg.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 -#include -#include -#include "_pbEvent_Internal.h" -#include "_pbInternalProc.h" - -#include -#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
- * 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
- * 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
- * RET_ERRPARAM Parameter error
- * 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
- * RET_ERRPARAM Parameter error
- * 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
- * RET_ERRPARAM Parameter error
- * 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(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
- * RET_ERRPARAM Parameter error
- * 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
- * RET_ERRPARAM Parameter error
- * 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(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
- * RET_ERRPARAM Parameter error
- * 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.
- * Returns the maximum message queue management value (MSG_MAX_NUM_CTRL_MSGQUE)
- * when no unused area exists - * - * @return Index for access(Unused area exists.)
- * 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.
- * If it is registered, the access index is returned.If it is not stored,
- * 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)
- * 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.
- * If it is registered, the access index is returned.If it is not stored,
- * 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)
- * 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(&bufTmp[0]), sizeof(bufTmp), - "[%02d]%10p ", e, g_msg_ctrl_tbl.info[i].h_positioningbaselibrary_sender[e]); - strncat(reinterpret_cast(&bufPositioningbaselibrarySender[0]), reinterpret_cast(&bufTmp[0]), \ - strlen(reinterpret_cast(&bufTmp[0]))); - } - memset(&bufTmp[0], 0x00, sizeof(bufTmp)); - snprintf(reinterpret_cast(&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(&bufMsg[0]), reinterpret_cast(&bufTmp[0]), \ - strlen(reinterpret_cast(&bufTmp[0]))); - if (((i+1) % 8) == 0) { - cnt++; - memset(&buf[0], 0x00, sizeof(buf)); - snprintf(reinterpret_cast(&buf[0]), sizeof(buf), - "Message-%d%s", - cnt, - &bufMsg[0]); - memcpy(pBuf, &buf[0], sizeof(buf)); - pBuf = reinterpret_cast((reinterpret_cast(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(&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; -} -- cgit 1.2.3-korg