/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ File: OCTVC1_MODULE.h Copyright (c) 2016 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.07.00-B1039 (2016/07/22) $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 *******************************/ /*------------------------------------------------------------------------------------- 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_LICENSING 0x04 #define cOCTVC1_MODULE_ID_ENUM_TEST 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_UMTS 0x0D #define cOCTVC1_MODULE_ID_ENUM_RUS 0x0E #define cOCTVC1_MODULE_ID_ENUM_SDR_TOOLKIT 0x0F #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__ */