/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ File: OCTVC1_MODULE.h Copyright (c) 2018 Octasic Inc. All rights reserved. Description: This program is free software; you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . Release: OCTSDR Software Development Kit OCTSDR_GSM-02.11.00-B1927 (2018/04/27) $Revision: $ \*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ #ifndef __OCTVC1_MODULE_H__ #define __OCTVC1_MODULE_H__ /***************************** INCLUDE FILES *******************************/ #include "../octdev_types.h" #include "octvc1_base.h" #include "octvc1_handle.h" /************************ COMMON DEFINITIONS *******************************/ /*------------------------------------------------------------------------------------- Resource -------------------------------------------------------------------------------------*/ #define cOCTVC1_RESOURCE_DESCRIPTION_MAX_LENGTH 15 /*------------------------------------------------------------------------------------- tOCTVC1_RESOURCE System memory Members: szDescription Resource description ulModuleId Module Id. ulLocalMemorySize Local Memory size in bytes. -------------------------------------------------------------------------------------*/ typedef struct { tOCT_INT8 szDescription[(cOCTVC1_RESOURCE_DESCRIPTION_MAX_LENGTH+1)];/* NOSWAPMAC */ tOCT_UINT32 ulModuleId; tOCT_UINT32 ulLocalMemorySize; } tOCTVC1_RESOURCE; /*------------------------------------------------------------------------------------- Last process identifiers -------------------------------------------------------------------------------------*/ #define cOCTVC1_PROCESS_LAST_OADF_PROCESS_TYPE_ENUM_ID 5 /*------------------------------------------------------------------------------------- Module Data Header Definition -------------------------------------------------------------------------------------*/ /*------------------------------------------------------------------------------------- tOCTVC1_MODULE_ID_ENUM : -------------------------------------------------------------------------------------*/ #define tOCTVC1_MODULE_ID_ENUM tOCT_UINT32 #define cOCTVC1_MODULE_ID_ENUM_GENERIC 0x00 #define cOCTVC1_MODULE_ID_ENUM_MAIN 0x01 #define cOCTVC1_MODULE_ID_ENUM_PKT_API 0x02 #define cOCTVC1_MODULE_ID_ENUM_CTRL 0x03 #define cOCTVC1_MODULE_ID_ENUM_RESERVED 0x04 #define cOCTVC1_MODULE_ID_ENUM_JOB 0x05 #define cOCTVC1_MODULE_ID_ENUM_HW 0x06 #define cOCTVC1_MODULE_ID_ENUM_IRSC 0x07 /*------------------------------------------------------------------------------------- Application modules definitions. -------------------------------------------------------------------------------------*/ #define cOCTVC1_MODULE_ID_ENUM_OBM 0x08 #define cOCTVC1_MODULE_ID_ENUM_APP_TEST 0x09 #define cOCTVC1_MODULE_ID_ENUM_SDR 0x0A #define cOCTVC1_MODULE_ID_ENUM_GSM 0x0B #define cOCTVC1_MODULE_ID_ENUM_LTE 0x0C #define cOCTVC1_MODULE_ID_ENUM_3G_NODEB 0x0D #define cOCTVC1_MODULE_ID_ENUM_RUS 0x0E #define cOCTVC1_MODULE_ID_ENUM_LIB_TOOLKIT 0x0F #define cOCTVC1_MODULE_ID_ENUM_UE3G 0x10 #define cOCTVC1_MODULE_ID_ENUM_TOOLBOX 0x11 #define cOCTVC1_MODULE_ID_ENUM_LTE_UE 0x12 #define cOCTVC1_MODULE_ID_ENUM_GSM_UE 0x13 #define cOCTVC1_MODULE_ID_ENUM_CDMA2K 0x14 #define cOCTVC1_MODULE_ID_BIT_OFFSET 24 #define cOCTVC1_MODULE_ID_BIT_MASK 0xFF /*------------------------------------------------------------------------------------- Module Application ID -------------------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------- tOCTVC1_MODULE_APPLICATION_ID [cOCTVC1_MODULE_ID|Value] [31:16] : reserved [15:8] : API Module ID tOCTVC1_MODULE_ID_ENUM: [7:0] : Index ----------------------------------------------------------------------------*/ typedef tOCT_UINT32 tOCTVC1_MODULE_APPLICATION_ID; #define cOCTVC1_MODULE_APPLICATION_ID_MODULE_BIT_OFFSET 8 #define cOCTVC1_MODULE_APPLICATION_ID_MODULE_BIT_MASK 0x000000FF #define cOCTVC1_MODULE_APPLICATION_ID_INDEX_BIT_OFFSET 0 #define cOCTVC1_MODULE_APPLICATION_ID_INDEX_BIT_MASK 0x000000FF /*------------------------------------------------------------------------------------- Main Application Module Id -------------------------------------------------------------------------------------*/ #define cOCTVC1_MODULE_APPLICATION_ID_MAIN_SYSTEM ((0x00)|(cOCTVC1_MODULE_ID_ENUM_MAIN< cOCTVC1_MODULE_ID_ENUM_. bits[23:16] = Reserved bits[15:0] = DataId -> Module specific data exchange. ulModuleDataSize Size of Module Data structure. hLogicalObj Associated object. ulTimestamp -------------------------------------------------------------------------------------*/ typedef struct { tOCT_UINT32 ulModuleDataId; tOCT_UINT32 ulModuleDataSize; tOCTVC1_HANDLE_OBJECT hLogicalObj; tOCT_UINT32 ulTimestamp; } tOCTVC1_MODULE_DATA; #endif /* __OCTVC1_MODULE_H__ */