/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\

File: OCTVC1_GSM_API.h

Copyright (c) 2014 Octasic Inc. All rights reserved.

Description: Contains the definition of the GSM API.

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 <http://www.gnu.org/licenses/>.

Octasic_Release: OCTSDR-2G-01.08.05-B29-ALPHA (2014/08/14)

$Revision: $

\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/

#ifndef __OCTVC1_GSM_API_H__
#define __OCTVC1_GSM_API_H__


/*****************************  INCLUDE FILES  *******************************/
#include "../../octdev_types.h"
#include "../../octdev_devices.h"
#include "../octvc1_msg.h"
#include "../octvc1_handle.h"
#include "../octvc1_cursor.h"
#include "../octvc1_list.h"
#include "../octvc1_fifo.h"

#include "octvc1_gsm_id.h"
#include "octvc1_gsm_rc.h"

/************************  COMMON DEFINITIONS  *******************************/

/*-------------------------------------------------------------------------------------
	tOCTVC1_GSM_tSUBCHANNEL_STATUS

 Members:
	usActiveUplinkSAPIMapMSW
	usActiveUplinkSAPIMapLSW
	usActiveDownlinkSAPIMapMSW
	usActiveDownlinkSAPIMapLSW
-------------------------------------------------------------------------------------*/
typedef struct
{
	tOCT_UINT16	usActiveUplinkSAPIMapMSW;
	tOCT_UINT16	usActiveUplinkSAPIMapLSW;
	tOCT_UINT16	usActiveDownlinkSAPIMapMSW;
	tOCT_UINT16	usActiveDownlinkSAPIMapLSW;

} tOCTVC1_GSM_tSUBCHANNEL_STATUS;

/*-------------------------------------------------------------------------------------
	tOCTVC1_GSM_tMEASUREMENT_INFO

 Members:
	sRSSI
	sSNR
	sBurstTiming
	usBERCount
	usBERTOtalBitCOunt
-------------------------------------------------------------------------------------*/
typedef struct
{
	tOCT_INT16	sRSSI;
	tOCT_INT16	sSNR;
	tOCT_INT16	sBurstTiming;
	tOCT_UINT16	usBERCount;
	tOCT_UINT16	usBERTOtalBitCOunt;

} tOCTVC1_GSM_tMEASUREMENT_INFO;

/*-------------------------------------------------------------------------------------
	tOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK : 	TRX_BAND
-------------------------------------------------------------------------------------*/
#define tOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK				tOCT_UINT16

#define cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_TRX_ID_BIT0	((tOCT_UINT16)(1<<15) )	
#define cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_TRX_ID_BIT1	((tOCT_UINT16)(1<<14) )	
#define cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_TRX_ID_BIT2	((tOCT_UINT16)(1<<13) )	
#define cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_TRX_ID_BIT3	((tOCT_UINT16)(1<<12) )	
#define cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_TRX_ID_BIT4	((tOCT_UINT16)(1<<11) )	
#define cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_TRX_ID_BIT5	((tOCT_UINT16)(1<<10) )	
#define cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_BAND_BIT0		((tOCT_UINT16)(1<<9) )	
#define cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_BAND_BIT1		((tOCT_UINT16)(1<<8) )	
#define cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_BAND_BIT2		((tOCT_UINT16)(1<<7) )	
#define cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_BAND_BIT3		((tOCT_UINT16)(1<<6) )	
#define cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_HOPPING		((tOCT_UINT16)(1<<5) )	
#define cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_TSC_BIT0		((tOCT_UINT16)(1<<4) )	
#define cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_TSC_BIT1		((tOCT_UINT16)(1<<3) )	
#define cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_TSC_BIT2		((tOCT_UINT16)(1<<2) )	
#define cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_TSC_BIT3		((tOCT_UINT16)(1<<1) )	
#define cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_TSC_BIT4		((tOCT_UINT16)(1<<0) )	

/*-------------------------------------------------------------------------------------
	tOCTVC1_GSM_TIMESLOT_STATUS

 Members:
	byChannelType
	bySubchannelCount
-------------------------------------------------------------------------------------*/
typedef struct
{
	tOCT_UINT8	byChannelType;
	tOCT_UINT8	bySubchannelCount;

} tOCTVC1_GSM_TIMESLOT_STATUS;

#define cOCTVC1_GSM_HOPPING_LIST_SIZE_WORD					64		 	/* This is the maximum number of entries in a hopping list */
#define cOCTVC1_GSM_HARDWARE_INFO_RESPONSE_LENGTH			253		 	/* This is the maximum length of the string to be returned by a Hardware Info */
 																		/* Response message. */
#define cOCTVC1_GSM_TRX_NUM_TIMESLOTS						8		 	/* This is the number of timeslots associated with a TRX. */
#define cOCTVC1_GSM_TRX_NUM_SUBCHANNELS						16		 	/* This is the number of subchannels associated with a TRX timeslot. */
#define cOCTVC1_GSM_cSDR_DATA_IND_MAX_DATA_SIZE_WORDS		234		 	/* This is the maximum number of words in the Data Indicator message's frame data. */
 																		/* NEEDS TO BE DEFINED PROPERLY */
#define cOCTVC1_GSM_cSDR_RACH_IND_MAX_MESSAGE_LENGTH_WORDS	16		 	/* This is the maximum number of words in the Data Indicator message's frame data. */
 																		/* nEEDS TO BE DEFINED PROPERLY */

/*-------------------------------------------------------------------------------------
	tOCTVC1_GSM_SAPI_ENUM : 	Indicates the SAPI to use
-------------------------------------------------------------------------------------*/
#define tOCTVC1_GSM_SAPI_ENUM								tOCT_UINT8

#define cOCTVC1_GSM_SAPI_ENUM_IDLE							0x00	
#define cOCTVC1_GSM_SAPI_ENUM_FCCH							0x01	
#define cOCTVC1_GSM_SAPI_ENUM_SCH							0x02	
#define cOCTVC1_GSM_SAPI_ENUM_SACCH							0x03	
#define cOCTVC1_GSM_SAPI_ENUM_SDCCH							0x04	
#define cOCTVC1_GSM_SAPI_ENUM_BCCH							0x05	
#define cOCTVC1_GSM_SAPI_ENUM_PCH_AGCH						0x07	
#define cOCTVC1_GSM_SAPI_ENUM_CBCH							0x08	
#define cOCTVC1_GSM_SAPI_ENUM_RACH							0x09	
#define cOCTVC1_GSM_SAPI_ENUM_TCHF							0x0a	
#define cOCTVC1_GSM_SAPI_ENUM_FACCHF						0x0b	
#define cOCTVC1_GSM_SAPI_ENUM_TCHH							0x0c	
#define cOCTVC1_GSM_SAPI_ENUM_FACCHH						0x0D	
#define cOCTVC1_GSM_SAPI_ENUM_NCH							0x0E	
#define cOCTVC1_GSM_SAPI_ENUM_PDTCH							0x0F	
#define cOCTVC1_GSM_SAPI_ENUM_PACCH							0x10	
#define cOCTVC1_GSM_SAPI_ENUM_PBCCH							0x11	
#define cOCTVC1_GSM_SAPI_ENUM_PAGCH							0x12	
#define cOCTVC1_GSM_SAPI_ENUM_PPCH							0x13	
#define cOCTVC1_GSM_SAPI_ENUM_PNCH							0x14	
#define cOCTVC1_GSM_SAPI_ENUM_PTCCH							0x15	
#define cOCTVC1_GSM_SAPI_ENUM_PRACH							0x16	

/*-------------------------------------------------------------------------------------
	tOCTVC1_GSM_Channel_Type_ENUM : 	Indicates the Channel Type to use
-------------------------------------------------------------------------------------*/
#define tOCTVC1_GSM_Channel_Type_ENUM						tOCT_UINT8

#define cOCTVC1_GSM_Channel_Type_ENUM_CCCH					0x01	
#define cOCTVC1_GSM_Channel_Type_ENUM_CCCH4					0x02	
#define cOCTVC1_GSM_Channel_Type_ENUM_SDCCH					0x03	
#define cOCTVC1_GSM_Channel_Type_ENUM_TCH_F					0x04	
#define cOCTVC1_GSM_Channel_Type_ENUM_TCH_H					0x05	
#define cOCTVC1_GSM_Channel_Type_ENUM_PDTCH					0x06	

/*-------------------------------------------------------------------------------------
	tOCTVC1_GSM_CIPHERING_ENUM : 	Indicates the Ciphering to use
-------------------------------------------------------------------------------------*/
#define tOCTVC1_GSM_CIPHERING_ENUM							tOCT_UINT8

#define cOCTVC1_GSM_CIPHERING_ENUM_A5_0						0x00	
#define cOCTVC1_GSM_CIPHERING_ENUM_A5_1						0x01	
#define cOCTVC1_GSM_CIPHERING_ENUM_A5_2						0x02	
#define cOCTVC1_GSM_CIPHERING_ENUM_A5_3						0x03	

/*-------------------------------------------------------------------------------------
	tOCTVC1_GSM_LOGICAL_CHANNEL_ENUM : 	Indicates the Logical channel Combination to use
-------------------------------------------------------------------------------------*/
#define tOCTVC1_GSM_LOGICAL_CHANNEL_ENUM								tOCT_UINT8

#define cOCTVC1_GSM_LOGICAL_CHANNEL_ENUM_EMPTY								0x00	
#define cOCTVC1_GSM_LOGICAL_CHANNEL_ENUM_TCHF								0x01	
#define cOCTVC1_GSM_LOGICAL_CHANNEL_ENUM_TCHH								0x02	
#define cOCTVC1_GSM_LOGICAL_CHANNEL_ENUM_FCCH_SCH_BCCH_CCCH					0x03	
#define cOCTVC1_GSM_LOGICAL_CHANNEL_ENUM_FCCH_SCH_BCCH_CCCH_SDCCH_SACCH		0x04	
#define cOCTVC1_GSM_LOGICAL_CHANNEL_ENUM_SDCCH_SACCH						0x05	
#define cOCTVC1_GSM_LOGICAL_CHANNEL_ENUM_PDTCH_PACCH_PTCCH					0x06	

/*-------------------------------------------------------------------------------------
	tOCTVC1_GSM_AMR_CODEC_ENUM : 	Indicates the AMR CODEC to use
-------------------------------------------------------------------------------------*/
#define tOCTVC1_GSM_AMR_CODEC_ENUM							tOCT_UINT8

#define cOCTVC1_GSM_AMR_CODEC_ENUM_RATE_4_75				0x00	
#define cOCTVC1_GSM_AMR_CODEC_ENUM_RATE_5_15				0x01	
#define cOCTVC1_GSM_AMR_CODEC_ENUM_RATE_5_90				0x02	
#define cOCTVC1_GSM_AMR_CODEC_ENUM_RATE_6_70				0x03	
#define cOCTVC1_GSM_AMR_CODEC_ENUM_RATE_7_40				0x04	
#define cOCTVC1_GSM_AMR_CODEC_ENUM_RATE_7_95				0x05	
#define cOCTVC1_GSM_AMR_CODEC_ENUM_RATE_10_2				0x07	
#define cOCTVC1_GSM_AMR_CODEC_ENUM_RATE_12_2				0x08	
#define cOCTVC1_GSM_AMR_CODEC_ENUM_RATE_Unset				0x0F	

/*-------------------------------------------------------------------------------------
	tOCTVC1_GSM_BURST_ENUM : 	Indicates the BURST to use
-------------------------------------------------------------------------------------*/
#define tOCTVC1_GSM_BURST_ENUM								tOCT_UINT8

#define cOCTVC1_GSM_BURST_ENUM_Synchronization				0x00	
#define cOCTVC1_GSM_BURST_ENUM_Normal						0x01	
#define cOCTVC1_GSM_BURST_ENUM_Dummy						0x02	
#define cOCTVC1_GSM_BURST_ENUM_Normal_8PSK					0x03	
#define cOCTVC1_GSM_BURST_ENUM_Access_TSC0					0x04	
#define cOCTVC1_GSM_BURST_ENUM_Access_TSC1					0x05	
#define cOCTVC1_GSM_BURST_ENUM_Access_TSC2					0x06	
#define cOCTVC1_GSM_BURST_ENUM_Frequency_Correction			0x07	

/*-------------------------------------------------------------------------------------
	tOCTVC1_GSM_DIR_ENUM : 	Indicates the Direction to use
-------------------------------------------------------------------------------------*/
#define tOCTVC1_GSM_DIR_ENUM								tOCT_UINT8

#define cOCTVC1_GSM_DIR_ENUM_NO_PATH						0x00	
#define cOCTVC1_GSM_DIR_ENUM_RX_MS_BTS						0x01	
#define cOCTVC1_GSM_DIR_ENUM_RX_BTS_MS						0x02	
#define cOCTVC1_GSM_DIR_ENUM_TX_BTS_MS						0x03	
#define cOCTVC1_GSM_DIR_ENUM_TX_MS_BTS						0x04	

/*-------------------------------------------------------------------------------------
	tOCTVC1_GSM_BAND_ENUM : 	Indicates the GSM band to use
-------------------------------------------------------------------------------------*/
#define tOCTVC1_GSM_BAND_ENUM								tOCT_UINT32

#define cOCTVC1_GSM_BAND_ENUM_GSM450						0x0000	
#define cOCTVC1_GSM_BAND_ENUM_GSM850						0x0001	
#define cOCTVC1_GSM_BAND_ENUM_GSM900						0x0002	
#define cOCTVC1_GSM_BAND_ENUM_GSM1800						0x0003	
#define cOCTVC1_GSM_BAND_ENUM_GSM1900						0x0004	
#define cOCTVC1_GSM_BAND_ENUM_EGSM							0x0005	
#define cOCTVC1_GSM_BAND_ENUM_RGSM							0x0006	

/*-------------------------------------------------------------------------------------
	tOCTVC1_GSM_PROCESS_TYPE_ENUM : 	Process utilization type.
-------------------------------------------------------------------------------------*/
#define tOCTVC1_GSM_PROCESS_TYPE_ENUM						tOCT_UINT32

#define cOCTVC1_GSM_PROCESS_TYPE_ENUM_INVALID				0		
#define cOCTVC1_GSM_PROCESS_TYPE_ENUM_CONTROL				1		
#define cOCTVC1_GSM_PROCESS_TYPE_ENUM_TDM_DRIVER			2		
#define cOCTVC1_GSM_PROCESS_TYPE_ENUM_ROUTER				3		
#define cOCTVC1_GSM_PROCESS_TYPE_ENUM_SCHEDULER				4		
#define cOCTVC1_GSM_PROCESS_TYPE_ENUM_VSPMGR				5		
#define cOCTVC1_GSM_PROCESS_TYPE_ENUM_AF_SRV				6		
#define cOCTVC1_GSM_PROCESS_TYPE_ENUM_CAMERA_DRIVER			7		
#define cOCTVC1_GSM_PROCESS_TYPE_ENUM_WCDMA_SCHEDULER		((tOCT_UINT32)(1|cOCTVC1_GSM_SDR_PROCESS_TYPE_FLAG) )	
#define cOCTVC1_GSM_PROCESS_TYPE_ENUM_L1C_APAPTATION_LAYER	((tOCT_UINT32)(2|cOCTVC1_GSM_SDR_PROCESS_TYPE_FLAG) )	
#define cOCTVC1_GSM_PROCESS_TYPE_ENUM_ULIM_RACH				((tOCT_UINT32)(3|cOCTVC1_GSM_SDR_PROCESS_TYPE_FLAG) )	
#define cOCTVC1_GSM_PROCESS_TYPE_ENUM_ULIM_MASTER			((tOCT_UINT32)(4|cOCTVC1_GSM_SDR_PROCESS_TYPE_FLAG) )	
#define cOCTVC1_GSM_PROCESS_TYPE_ENUM_ULIM_RFI				((tOCT_UINT32)(5|cOCTVC1_GSM_SDR_PROCESS_TYPE_FLAG) )	
#define cOCTVC1_GSM_PROCESS_TYPE_ENUM_ULIM_SLAVE			((tOCT_UINT32)(6|cOCTVC1_GSM_SDR_PROCESS_TYPE_FLAG) )	
#define cOCTVC1_GSM_PROCESS_TYPE_ENUM_ULOM_MASTER			((tOCT_UINT32)(7|cOCTVC1_GSM_SDR_PROCESS_TYPE_FLAG) )	
#define cOCTVC1_GSM_PROCESS_TYPE_ENUM_ULOM_SLAVE			((tOCT_UINT32)(8|cOCTVC1_GSM_SDR_PROCESS_TYPE_FLAG) )	
#define cOCTVC1_GSM_PROCESS_TYPE_ENUM_DLIM_MASTER			((tOCT_UINT32)(9|cOCTVC1_GSM_SDR_PROCESS_TYPE_FLAG) )	
#define cOCTVC1_GSM_PROCESS_TYPE_ENUM_DLIM_SLAVE			((tOCT_UINT32)(10|cOCTVC1_GSM_SDR_PROCESS_TYPE_FLAG) )	
#define cOCTVC1_GSM_PROCESS_TYPE_ENUM_DLOM_MASTER			((tOCT_UINT32)(11|cOCTVC1_GSM_SDR_PROCESS_TYPE_FLAG) )	
#define cOCTVC1_GSM_PROCESS_TYPE_ENUM_DLOM_SLAVE			((tOCT_UINT32)(12|cOCTVC1_GSM_SDR_PROCESS_TYPE_FLAG) )	
#define cOCTVC1_GSM_PROCESS_TYPE_ENUM_RFI					((tOCT_UINT32)(13|cOCTVC1_GSM_SDR_PROCESS_TYPE_FLAG) )	
#define cOCTVC1_GSM_PROCESS_TYPE_ENUM_ETH					((tOCT_UINT32)(14|cOCTVC1_GSM_SDR_PROCESS_TYPE_FLAG) )	
#define cOCTVC1_GSM_PROCESS_TYPE_ENUM_HSDLOM				((tOCT_UINT32)(15|cOCTVC1_GSM_SDR_PROCESS_TYPE_FLAG) )	
#define cOCTVC1_GSM_PROCESS_TYPE_ENUM_HSDLIM				((tOCT_UINT32)(16|cOCTVC1_GSM_SDR_PROCESS_TYPE_FLAG) )	
#define cOCTVC1_GSM_PROCESS_TYPE_ENUM_CTRL					((tOCT_UINT32)(17|cOCTVC1_GSM_SDR_PROCESS_TYPE_FLAG) )	

/*-------------------------------------------------------------------------------------
	tOCTVC1_GSM_EVT_MASK : 	Phy Events.
-------------------------------------------------------------------------------------*/
#define tOCTVC1_GSM_EVT_MASK								tOCT_UINT32

#define cOCTVC1_GSM_EVT_MASK_ERROR							((tOCT_UINT32)(1<<0) )	
#define cOCTVC1_GSM_EVT_MASK_TRACE_REQUEST					((tOCT_UINT32)(1<<1) )	
#define cOCTVC1_GSM_EVT_MASK_TRACE_RESPONSE					((tOCT_UINT32)(1<<2) )	
#define cOCTVC1_GSM_EVT_MASK_MESSAGE						((tOCT_UINT32)(1<<3) )	
#define cOCTVC1_GSM_EVT_MASK_CHECKPOINT						((tOCT_UINT32)(1<<4) )	
#define cOCTVC1_GSM_EVT_MASK_ALL							0xFFFFFFFF	

#define cOCTVC1_GSM_SDR_PROCESS_TYPE_FLAG					0x0020	
#define cOCTVC1_GSM_REQUEST_INDICATION_FLAG					0x8000	
#define cOCTVC1_GSM_RESPONSE_INDICATION_FLAG				0x4000	
#define cOCTVC1_GSM_TRACING_BUFFER_SIZE						512		 	/* This is the maximum size of a tracing packet. */
#define cOCTVC1_GSM_NB_RESERVED								3		 	/* This is the maximum size of a tracing packet. */

/*****************************  METHODS  *************************************/
/*-------------------------------------------------------------------------------------
	tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME_CMD

 Members:
	Header
 		OCTVC1 Message Header
	byu2Pad_u6TRXId
	byu3TN_u5SAPI
	bySubchannelNum
	byPad
	usFrameNumberMsb
	usFrameNumberLsb
	aPadding
-------------------------------------------------------------------------------------*/
typedef struct
{
	tOCTVC1_MSG_HEADER	Header;
	tOCT_UINT8			byu2Pad_u6TRXId;
	tOCT_UINT8			byu3TN_u5SAPI;
	tOCT_UINT8			bySubchannelNum;
	tOCT_UINT8			byPad;
	tOCT_UINT16			usFrameNumberMsb;
	tOCT_UINT16			usFrameNumberLsb;
	tOCT_UINT8			aPadding[480];

} tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME_CMD;

/*-------------------------------------------------------------------------------------
	tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME_RSP
 		The empty frame request has no response. This structure should not be defined,
 		but the xml requires us to do so

 Members:
	Header
 		OCTVC1 Message Header
	usTodo
-------------------------------------------------------------------------------------*/
typedef struct
{
	tOCTVC1_MSG_HEADER	Header;
	tOCT_UINT16			usTodo;

} tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME_RSP;

/*-------------------------------------------------------------------------------------
	tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_CMD

 Members:
	Header
 		OCTVC1 Message Header
	byU2Pad_u6TRXId
	byU3TN_u5SAPI
	bySubchannelNum
	byPad
	usFrameNumberMSB
	usFrameNumberLSB
	usDataLength
	ausDataContents
-------------------------------------------------------------------------------------*/
typedef struct
{
	tOCTVC1_MSG_HEADER	Header;
	tOCT_UINT8			byU2Pad_u6TRXId;
	tOCT_UINT8			byU3TN_u5SAPI;
	tOCT_UINT8			bySubchannelNum;
	tOCT_UINT8			byPad;
	tOCT_UINT16			usFrameNumberMSB;
	tOCT_UINT16			usFrameNumberLSB;
	tOCT_UINT16			usDataLength;
	tOCT_UINT8			ausDataContents[478];

} tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_CMD;

/*-------------------------------------------------------------------------------------
	tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_RSP

 Members:
	Header
 		OCTVC1 Message Header
	usTodo
-------------------------------------------------------------------------------------*/
typedef struct
{
	tOCTVC1_MSG_HEADER	Header;
	tOCT_UINT16			usTodo;

} tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_RSP;

/*-------------------------------------------------------------------------------------
	tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONNECT_CMD

 Members:
	Header
 		OCTVC1 Message Header
	byu2Pad_u6TrxId
		Default:	0
	byu5Pad_u3TimeslotNumber
	byChannelType
	byPayloadType
	aPadding
-------------------------------------------------------------------------------------*/
typedef struct
{
	tOCTVC1_MSG_HEADER	Header;
	tOCT_UINT8			byu2Pad_u6TrxId;
	tOCT_UINT8			byu5Pad_u3TimeslotNumber;
	tOCT_UINT8			byChannelType;
	tOCT_UINT8			byPayloadType;
	tOCT_UINT8			aPadding[484];

} tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONNECT_CMD;

/*-------------------------------------------------------------------------------------
	tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONNECT_RSP

 Members:
	Header
 		OCTVC1 Message Header
	byu2Pad_u6TRXId
	byu5Pad_u3TN
	usStatus
	aPadding
-------------------------------------------------------------------------------------*/
typedef struct
{
	tOCTVC1_MSG_HEADER	Header;
	tOCT_UINT8			byu2Pad_u6TRXId;
	tOCT_UINT8			byu5Pad_u3TN;
	tOCT_UINT16			usStatus;
	tOCT_UINT8			aPadding[460];

} tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONNECT_RSP;

/*-------------------------------------------------------------------------------------
	tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_DISCONNECT_CMD

 Members:
	Header
 		OCTVC1 Message Header
	byu2Pad_u6TrxId
		Default:	0
	byu5Pad_u3TimeslotNumber
	aPadding
-------------------------------------------------------------------------------------*/
typedef struct
{
	tOCTVC1_MSG_HEADER	Header;
	tOCT_UINT8			byu2Pad_u6TrxId;
	tOCT_UINT8			byu5Pad_u3TimeslotNumber;
	tOCT_UINT8			aPadding[476];

} tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_DISCONNECT_CMD;

/*-------------------------------------------------------------------------------------
	tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_DISCONNECT_RSP

 Members:
	Header
 		OCTVC1 Message Header
	byu2Pad_u6TRXId
	byu5Pad_u3TN
	usStatus
	aPadding
-------------------------------------------------------------------------------------*/
typedef struct
{
	tOCTVC1_MSG_HEADER	Header;
	tOCT_UINT8			byu2Pad_u6TRXId;
	tOCT_UINT8			byu5Pad_u3TN;
	tOCT_UINT16			usStatus;
	tOCT_UINT8			aPadding[460];

} tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_DISCONNECT_RSP;

/*-------------------------------------------------------------------------------------
	tOCTVC1_GSM_MSG_TRX_STATUS_CMD

 Members:
	Header
 		OCTVC1 Message Header
	usu2Pad_u6TRXId_u8Pad
-------------------------------------------------------------------------------------*/
typedef struct
{
	tOCTVC1_MSG_HEADER	Header;
	tOCT_UINT16			usu2Pad_u6TRXId_u8Pad;

} tOCTVC1_GSM_MSG_TRX_STATUS_CMD;

/*-------------------------------------------------------------------------------------
	tOCTVC1_GSM_MSG_TRX_STATUS_RSP

 Members:
	Header
 		OCTVC1 Message Header
	byu2Pad_u6TRXId
	byPad
	atStatus
	aPadding
-------------------------------------------------------------------------------------*/
typedef struct
{
	tOCTVC1_MSG_HEADER			Header;
	tOCT_UINT8					byu2Pad_u6TRXId;
	tOCT_UINT8					byPad;
	tOCTVC1_GSM_TIMESLOT_STATUS	atStatus[cOCTVC1_GSM_TRX_NUM_TIMESLOTS];
	tOCT_UINT8					aPadding[446];

} tOCTVC1_GSM_MSG_TRX_STATUS_RSP;

/*-------------------------------------------------------------------------------------
	tOCTVC1_GSM_MSG_TRX_STATUS_TIMESLOT_CMD

 Members:
	Header
 		OCTVC1 Message Header
	usu2Pad_u6TRXId_u5Pad_u3TN
-------------------------------------------------------------------------------------*/
typedef struct
{
	tOCTVC1_MSG_HEADER	Header;
	tOCT_UINT16			usu2Pad_u6TRXId_u5Pad_u3TN;/* NOSWAPMAC */

} tOCTVC1_GSM_MSG_TRX_STATUS_TIMESLOT_CMD;

/*-------------------------------------------------------------------------------------
	tOCTVC1_GSM_MSG_TRX_STATUS_TIMESLOT_RSP

 Members:
	Header
 		OCTVC1 Message Header
	usu2Pad_u6TRXId_u5Pad_u3TN
	byChannelType
	bySubchannelCount
	atSubchannnelStatus
	aPadding
-------------------------------------------------------------------------------------*/
typedef struct
{
	tOCTVC1_MSG_HEADER				Header;
	tOCT_UINT16						usu2Pad_u6TRXId_u5Pad_u3TN;/* NOSWAPMAC */
	tOCT_UINT8						byChannelType;/* NOSWAPMAC */
	tOCT_UINT8						bySubchannelCount;/* NOSWAPMAC */
	tOCTVC1_GSM_tSUBCHANNEL_STATUS	atSubchannnelStatus[cOCTVC1_GSM_TRX_NUM_SUBCHANNELS];/* NOSWAPMAC */
	tOCT_UINT8						aPadding[332];

} tOCTVC1_GSM_MSG_TRX_STATUS_TIMESLOT_RSP;

/*-------------------------------------------------------------------------------------
	tOCTVC1_GSM_MSG_TRX_RESET_CMD

 Members:
	Header
 		OCTVC1 Message Header
	usu2Pad_u6TRXId_u8Pad
	aPadding
-------------------------------------------------------------------------------------*/
typedef struct
{
	tOCTVC1_MSG_HEADER	Header;
	tOCT_UINT16			usu2Pad_u6TRXId_u8Pad;
	tOCT_UINT8			aPadding[486];

} tOCTVC1_GSM_MSG_TRX_RESET_CMD;

/*-------------------------------------------------------------------------------------
	tOCTVC1_GSM_MSG_TRX_RESET_RSP

 Members:
	Header
 		OCTVC1 Message Header
	byu2Pad_u6TRXId
	byPad
	usStatus
	aPadding
-------------------------------------------------------------------------------------*/
typedef struct
{
	tOCTVC1_MSG_HEADER	Header;
	tOCT_UINT8			byu2Pad_u6TRXId;
	tOCT_UINT8			byPad;
	tOCT_UINT16			usStatus;
	tOCT_UINT8			aPadding[460];

} tOCTVC1_GSM_MSG_TRX_RESET_RSP;

/*-------------------------------------------------------------------------------------
	tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_RESET_CMD

 Members:
	Header
 		OCTVC1 Message Header
	aPadding
-------------------------------------------------------------------------------------*/
typedef struct
{
	tOCTVC1_MSG_HEADER	Header;
	tOCT_UINT8			aPadding[462];

} tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_RESET_CMD;

/*-------------------------------------------------------------------------------------
	tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_RESET_RSP

 Members:
	Header
 		OCTVC1 Message Header
	usStatus
	aPadding
-------------------------------------------------------------------------------------*/
typedef struct
{
	tOCTVC1_MSG_HEADER	Header;
	tOCT_UINT16			usStatus;
	tOCT_UINT8			aPadding[476];

} tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_RESET_RSP;

/*-------------------------------------------------------------------------------------
	tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_CMD

 Members:
	Header
 		OCTVC1 Message Header
	byu2Pad_u6TRXId
	byu2Pad_u3TN_u3Dir
	bySubchannelNum
	byu3Pad_u5SAPI
	byTimingAdvance
	byPad
	byBSIC
	byu1CMIPhase_u7InitRate
	byu4Rate1_u4Rate2
	byu4Rate3_u4Rate4
	aPadding
-------------------------------------------------------------------------------------*/
typedef struct
{
	tOCTVC1_MSG_HEADER	Header;
	tOCT_UINT8			byu2Pad_u6TRXId;
	tOCT_UINT8			byu2Pad_u3TN_u3Dir;
	tOCT_UINT8			bySubchannelNum;
	tOCT_UINT8			byu3Pad_u5SAPI;
	tOCT_UINT8			byTimingAdvance;
	tOCT_UINT8			byPad;
	tOCT_UINT8			byBSIC;
	tOCT_UINT8			byu1CMIPhase_u7InitRate;
	tOCT_UINT8			byu4Rate1_u4Rate2;
	tOCT_UINT8			byu4Rate3_u4Rate4;
	tOCT_UINT8			aPadding[476];

} tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_CMD;

/*-------------------------------------------------------------------------------------
	tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_RSP

 Members:
	Header
 		OCTVC1 Message Header
	byu2Pad_u3TRXId
	byu2Pad_u3TN_u3Dir
	bySubchannelNum
	byu3Pad_u5SAPI
	usStatus
	aPadding
-------------------------------------------------------------------------------------*/
typedef struct
{
	tOCTVC1_MSG_HEADER	Header;
	tOCT_UINT8			byu2Pad_u3TRXId;
	tOCT_UINT8			byu2Pad_u3TN_u3Dir;
	tOCT_UINT8			bySubchannelNum;
	tOCT_UINT8			byu3Pad_u5SAPI;
	tOCT_UINT16			usStatus;
	tOCT_UINT8			aPadding[458];

} tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_RSP;

/*-------------------------------------------------------------------------------------
	tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_DEACTIVATE_CMD

 Members:
	Header
 		OCTVC1 Message Header
	byu2Pad_u6TRXId
	byu2Pad_u3TN_u3Dir
	bySubchannelNum
	byu3Pad_u5SAPI
-------------------------------------------------------------------------------------*/
typedef struct
{
	tOCTVC1_MSG_HEADER	Header;
	tOCT_UINT8			byu2Pad_u6TRXId;
	tOCT_UINT8			byu2Pad_u3TN_u3Dir;
	tOCT_UINT8			bySubchannelNum;
	tOCT_UINT8			byu3Pad_u5SAPI;

} tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_DEACTIVATE_CMD;

/*-------------------------------------------------------------------------------------
	tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_DEACTIVATE_RSP

 Members:
	Header
 		OCTVC1 Message Header
	byu2Pad_u3TRXId
	byu2Pad_u3TN_u3Dir
	bySubchannelNum
	byu3Pad_u5SAPI
	usStatus
	aPadding
-------------------------------------------------------------------------------------*/
typedef struct
{
	tOCTVC1_MSG_HEADER	Header;
	tOCT_UINT8			byu2Pad_u3TRXId;
	tOCT_UINT8			byu2Pad_u3TN_u3Dir;
	tOCT_UINT8			bySubchannelNum;
	tOCT_UINT8			byu3Pad_u5SAPI;
	tOCT_UINT16			usStatus;
	tOCT_UINT8			aPadding[458];

} tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_DEACTIVATE_RSP;

/*-------------------------------------------------------------------------------------
	tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_CMD

 Members:
	Header
 		OCTVC1 Message Header
	byu2Pad_u6TRXId
	byu2Pad_u3TN_u3Dir
	bySubchannelNum
	byuCipherId
	usKC0
	usKC1
	usKC2
	usKC3
-------------------------------------------------------------------------------------*/
typedef struct
{
	tOCTVC1_MSG_HEADER	Header;
	tOCT_UINT8			byu2Pad_u6TRXId;
	tOCT_UINT8			byu2Pad_u3TN_u3Dir;
	tOCT_UINT8			bySubchannelNum;
	tOCT_UINT8			byuCipherId;
	tOCT_UINT16			usKC0;
	tOCT_UINT16			usKC1;
	tOCT_UINT16			usKC2;
	tOCT_UINT16			usKC3;

} tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_CMD;

/*-------------------------------------------------------------------------------------
	tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_RSP

 Members:
	Header
 		OCTVC1 Message Header
	byu2Pad_u6TRXId
	byu2Pad_u3TN_u3Dir
	bySubchannelNum
	byPad
	usStatus
	aPadding
-------------------------------------------------------------------------------------*/
typedef struct
{
	tOCTVC1_MSG_HEADER	Header;
	tOCT_UINT8			byu2Pad_u6TRXId;
	tOCT_UINT8			byu2Pad_u3TN_u3Dir;
	tOCT_UINT8			bySubchannelNum;
	tOCT_UINT8			byPad;
	tOCT_UINT16			usStatus;
	tOCT_UINT8			aPadding[458];

} tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_RSP;

/*-------------------------------------------------------------------------------------
	tOCTVC1_GSM_MSG_MODULE_INFO_HARDWARE_CMD

 Members:
	Header
 		OCTVC1 Message Header
	aPadding
-------------------------------------------------------------------------------------*/
typedef struct
{
	tOCTVC1_MSG_HEADER	Header;
	tOCT_UINT8			aPadding[488];

} tOCTVC1_GSM_MSG_MODULE_INFO_HARDWARE_CMD;

/*-------------------------------------------------------------------------------------
	tOCTVC1_GSM_MSG_MODULE_INFO_HARDWARE_RSP

 Members:
	Header
 		OCTVC1 Message Header
	szHardwareInfo
	aPadding
-------------------------------------------------------------------------------------*/
typedef struct
{
	tOCTVC1_MSG_HEADER	Header;
	tOCT_UINT8			szHardwareInfo[cOCTVC1_GSM_HARDWARE_INFO_RESPONSE_LENGTH];
	tOCT_UINT8			aPadding[210];

} tOCTVC1_GSM_MSG_MODULE_INFO_HARDWARE_RSP;

/*-------------------------------------------------------------------------------------
	tOCTVC1_GSM_MSG_TRX_REQUEST_TIMESLOT_MEASUREMENT_REPORT_CMD

 Members:
	Header
 		OCTVC1 Message Header
	byu2Pad_u6TRXId
	byu5Pad_u3TN
-------------------------------------------------------------------------------------*/
typedef struct
{
	tOCTVC1_MSG_HEADER	Header;
	tOCT_UINT8			byu2Pad_u6TRXId;/* NOSWAPMAC */
	tOCT_UINT8			byu5Pad_u3TN;/* NOSWAPMAC */

} tOCTVC1_GSM_MSG_TRX_REQUEST_TIMESLOT_MEASUREMENT_REPORT_CMD;

/*-------------------------------------------------------------------------------------
	tOCTVC1_GSM_MSG_TRX_REQUEST_TIMESLOT_MEASUREMENT_REPORT_RSP

 Members:
	Header
 		OCTVC1 Message Header
	byu2Pad_u6TRXId
	byu5Pad_u3TN
	tMeasurementInfo
	aPadding
-------------------------------------------------------------------------------------*/
typedef struct
{
	tOCTVC1_MSG_HEADER				Header;
	tOCT_UINT8						byu2Pad_u6TRXId;/* NOSWAPMAC */
	tOCT_UINT8						byu5Pad_u3TN;/* NOSWAPMAC */
	tOCTVC1_GSM_tMEASUREMENT_INFO	tMeasurementInfo;/* NOSWAPMAC */
	tOCT_UINT8						aPadding[454];

} tOCTVC1_GSM_MSG_TRX_REQUEST_TIMESLOT_MEASUREMENT_REPORT_RSP;

/*-------------------------------------------------------------------------------------
	tOCTVC1_GSM_MSG_TEST_START_ETSI_CMD

 Members:
	Header
 		OCTVC1 Message Header
	usTodo
-------------------------------------------------------------------------------------*/
typedef struct
{
	tOCTVC1_MSG_HEADER	Header;
	tOCT_UINT16			usTodo;

} tOCTVC1_GSM_MSG_TEST_START_ETSI_CMD;

/*-------------------------------------------------------------------------------------
	tOCTVC1_GSM_MSG_TEST_START_ETSI_RSP

 Members:
	Header
 		OCTVC1 Message Header
	usTodo
-------------------------------------------------------------------------------------*/
typedef struct
{
	tOCTVC1_MSG_HEADER	Header;
	tOCT_UINT16			usTodo;

} tOCTVC1_GSM_MSG_TEST_START_ETSI_RSP;

/*-------------------------------------------------------------------------------------
	tOCTVC1_GSM_MSG_TEST_START_FCC_CMD

 Members:
	Header
 		OCTVC1 Message Header
	usTodo
-------------------------------------------------------------------------------------*/
typedef struct
{
	tOCTVC1_MSG_HEADER	Header;
	tOCT_UINT16			usTodo;

} tOCTVC1_GSM_MSG_TEST_START_FCC_CMD;

/*-------------------------------------------------------------------------------------
	tOCTVC1_GSM_MSG_TEST_START_FCC_RSP

 Members:
	Header
 		OCTVC1 Message Header
	usTodo
-------------------------------------------------------------------------------------*/
typedef struct
{
	tOCTVC1_MSG_HEADER	Header;
	tOCT_UINT16			usTodo;

} tOCTVC1_GSM_MSG_TEST_START_FCC_RSP;

/*-------------------------------------------------------------------------------------
	tOCTVC1_GSM_MSG_TEST_END_ETSI_CMD

 Members:
	Header
 		OCTVC1 Message Header
	usTodo
-------------------------------------------------------------------------------------*/
typedef struct
{
	tOCTVC1_MSG_HEADER	Header;
	tOCT_UINT16			usTodo;

} tOCTVC1_GSM_MSG_TEST_END_ETSI_CMD;

/*-------------------------------------------------------------------------------------
	tOCTVC1_GSM_MSG_TEST_END_ETSI_RSP

 Members:
	Header
 		OCTVC1 Message Header
	usTodo
-------------------------------------------------------------------------------------*/
typedef struct
{
	tOCTVC1_MSG_HEADER	Header;
	tOCT_UINT16			usTodo;

} tOCTVC1_GSM_MSG_TEST_END_ETSI_RSP;

/*-------------------------------------------------------------------------------------
	tOCTVC1_GSM_MSG_TEST_END_FCC_CMD

 Members:
	Header
 		OCTVC1 Message Header
	usTodo
-------------------------------------------------------------------------------------*/
typedef struct
{
	tOCTVC1_MSG_HEADER	Header;
	tOCT_UINT16			usTodo;

} tOCTVC1_GSM_MSG_TEST_END_FCC_CMD;

/*-------------------------------------------------------------------------------------
	tOCTVC1_GSM_MSG_TEST_END_FCC_RSP

 Members:
	Header
 		OCTVC1 Message Header
	usTodo
-------------------------------------------------------------------------------------*/
typedef struct
{
	tOCTVC1_MSG_HEADER	Header;
	tOCT_UINT16			usTodo;

} tOCTVC1_GSM_MSG_TEST_END_FCC_RSP;

/*-------------------------------------------------------------------------------------
	tOCTVC1_GSM_MSG_MODULE_MODIFY_EVT_CMD

 Members:
	Header
 		OCTVC1 Message Header
	ulEventMask
		Default:	(cOCTVC1_GSM_EVT_MASK_MESSAGE|cOCTVC1_GSM_EVT_MASK_ERROR)
	ulUserEventId
	hEventDestObj
 		Destination Object handle
	ulEventDestObjPort
 		Destination packet port to bind.
	ulEventDestObjFifoId
 		Destination object FIFO ID.
-------------------------------------------------------------------------------------*/
typedef struct
{
	tOCTVC1_MSG_HEADER		Header;
	tOCTVC1_GSM_EVT_MASK	ulEventMask;
	tOCT_UINT32				ulUserEventId;
	tOCTVC1_HANDLE			hEventDestObj;
	tOCT_UINT32				ulEventDestObjPort;
	tOCT_UINT32				ulEventDestObjFifoId;

} tOCTVC1_GSM_MSG_MODULE_MODIFY_EVT_CMD;

/*-------------------------------------------------------------------------------------
	tOCTVC1_GSM_MSG_MODULE_MODIFY_EVT_RSP

 Members:
	Header
 		OCTVC1 Message Header
-------------------------------------------------------------------------------------*/
typedef struct
{
	tOCTVC1_MSG_HEADER	Header;

} tOCTVC1_GSM_MSG_MODULE_MODIFY_EVT_RSP;

/*-------------------------------------------------------------------------------------
	tOCTVC1_GSM_MSG_MODULE_INFO_EVT_CMD

 Members:
	Header
 		OCTVC1 Message Header
-------------------------------------------------------------------------------------*/
typedef struct
{
	tOCTVC1_MSG_HEADER	Header;

} tOCTVC1_GSM_MSG_MODULE_INFO_EVT_CMD;

/*-------------------------------------------------------------------------------------
	tOCTVC1_GSM_MSG_MODULE_INFO_EVT_RSP

 Members:
	Header
 		OCTVC1 Message Header
	ulEventMask
		Default:	(cOCTVC1_GSM_EVT_MASK_MESSAGE|cOCTVC1_GSM_EVT_MASK_ERROR)
	ulUserEventId
	hEventDestObj
 		Destination Object handle
	ulEventDestObjPort
 		Destination packet port to bind.
	ulEventDestObjFifoId
 		Destination object FIFO ID.
-------------------------------------------------------------------------------------*/
typedef struct
{
	tOCTVC1_MSG_HEADER		Header;
	tOCTVC1_GSM_EVT_MASK	ulEventMask;
	tOCT_UINT32				ulUserEventId;
	tOCTVC1_HANDLE			hEventDestObj;
	tOCT_UINT32				ulEventDestObjPort;
	tOCT_UINT32				ulEventDestObjFifoId;

} tOCTVC1_GSM_MSG_MODULE_INFO_EVT_RSP;

/*-------------------------------------------------------------------------------------
	tOCTVC1_GSM_MSG_MODULE_INFO_CMD

 Members:
	Header
 		OCTVC1 Message Header
-------------------------------------------------------------------------------------*/
typedef struct
{
	tOCTVC1_MSG_HEADER	Header;

} tOCTVC1_GSM_MSG_MODULE_INFO_CMD;

/*-------------------------------------------------------------------------------------
	tOCTVC1_GSM_MSG_MODULE_INFO_RSP

 Members:
	Header
 		OCTVC1 Message Header
	ulDeviceType
-------------------------------------------------------------------------------------*/
typedef struct
{
	tOCTVC1_MSG_HEADER	Header;
	tOCT_UINT32			ulDeviceType;

} tOCTVC1_GSM_MSG_MODULE_INFO_RSP;

/*-------------------------------------------------------------------------------------
	tOCTVC1_GSM_MSG_PROCESS_UNIT_MODIFY_EVT_CMD
 		Event parameters can be sent upon detection of errors or particular situation.
 		This command allows the user to specify which events are returned and which are
 		masked by the device.
 		This can be useful for both in-system monitoring and debugging.

 Members:
	Header
 		OCTVC1 Message Header
	hProcessUnit
 		Handle of the VSP Termination.
	ulUserEventId
		Default:	cOCTVC1_DO_NOT_MODIFY
 		User-specified value that is included in the events packets generated by this
 		termination.
	ulEventMask
		Default:	(cOCTVC1_GSM_EVT_MASK_MESSAGE|cOCTVC1_GSM_EVT_MASK_ERROR)
	ulDebugFwdEventMask
		Default:	(cOCTVC1_GSM_EVT_MASK_MESSAGE|cOCTVC1_GSM_EVT_MASK_ERROR)
 		Bit field that contains the list of API events that can be generated by this
 		termination. Those events will be forwarded by the
 		OCTVC1_MAIN_MSG_DEBUG_FORWARD object.
-------------------------------------------------------------------------------------*/
typedef struct
{
	tOCTVC1_MSG_HEADER		Header;
	tOCTVC1_HANDLE			hProcessUnit;
	tOCT_UINT32				ulUserEventId;
	tOCTVC1_GSM_EVT_MASK	ulEventMask;
	tOCTVC1_GSM_EVT_MASK	ulDebugFwdEventMask;

} tOCTVC1_GSM_MSG_PROCESS_UNIT_MODIFY_EVT_CMD;

/*-------------------------------------------------------------------------------------
	tOCTVC1_GSM_MSG_PROCESS_UNIT_MODIFY_EVT_RSP

 Members:
	Header
 		OCTVC1 Message Header
	hProcessUnit
 		Handle of the VSP Termination.
-------------------------------------------------------------------------------------*/
typedef struct
{
	tOCTVC1_MSG_HEADER	Header;
	tOCTVC1_HANDLE		hProcessUnit;

} tOCTVC1_GSM_MSG_PROCESS_UNIT_MODIFY_EVT_RSP;

/*-------------------------------------------------------------------------------------
	tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_EVT_CMD

 Members:
	Header
 		OCTVC1 Message Header
	hProcessUnit
 		Handle of the VSP Termination.
-------------------------------------------------------------------------------------*/
typedef struct
{
	tOCTVC1_MSG_HEADER	Header;
	tOCTVC1_HANDLE		hProcessUnit;

} tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_EVT_CMD;

/*-------------------------------------------------------------------------------------
	tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_EVT_RSP

 Members:
	Header
 		OCTVC1 Message Header
	ulEventMask
	ulUserEventId
	hEventDestObj
 		Destination Object handle
	ulEventDestObjPort
 		Destination packet port to bind.
	ulEventDestObjFifoId
 		Destination object FIFO ID.
-------------------------------------------------------------------------------------*/
typedef struct
{
	tOCTVC1_MSG_HEADER		Header;
	tOCTVC1_GSM_EVT_MASK	ulEventMask;
	tOCT_UINT32				ulUserEventId;
	tOCTVC1_HANDLE			hEventDestObj;
	tOCT_UINT32				ulEventDestObjPort;
	tOCT_UINT32				ulEventDestObjFifoId;

} tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_EVT_RSP;

/*-------------------------------------------------------------------------------------
	tOCTVC1_GSM_MSG_TRX_CONFIGURE_CMD

 Members:
	Header
 		OCTVC1 Message Header
	u6TrxId_u4band_u1H_u5TSC
	ARFCN
	BCCH_ARFCN
	HSN
	MAIO
	HoppingListLength
	ausHoppingList
	aPadding
-------------------------------------------------------------------------------------*/
typedef struct
{
	tOCTVC1_MSG_HEADER						Header;
	tOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK	u6TrxId_u4band_u1H_u5TSC;/* NOSWAPMAC */
	tOCT_UINT16								ARFCN;/* NOSWAPMAC */
	tOCT_UINT16								BCCH_ARFCN;/* NOSWAPMAC */
	tOCT_UINT8								HSN;/* NOSWAPMAC */
	tOCT_UINT8								MAIO;/* NOSWAPMAC */
	tOCT_UINT16								HoppingListLength;/* NOSWAPMAC */
	tOCT_UINT16								ausHoppingList[cOCTVC1_GSM_HOPPING_LIST_SIZE_WORD];/* NOSWAPMAC */
	tOCT_UINT8								aPadding[350];

} tOCTVC1_GSM_MSG_TRX_CONFIGURE_CMD;

/*-------------------------------------------------------------------------------------
	tOCTVC1_GSM_MSG_TRX_CONFIGURE_RSP

 Members:
	Header
 		OCTVC1 Message Header
	u6TrxId_u4band_u6Pad
	usStatus
	aPadding
-------------------------------------------------------------------------------------*/
typedef struct
{
	tOCTVC1_MSG_HEADER						Header;
	tOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK	u6TrxId_u4band_u6Pad;/* NOSWAPMAC */
	tOCT_UINT16								usStatus;/* NOSWAPMAC */
	tOCT_UINT8								aPadding[460];

} tOCTVC1_GSM_MSG_TRX_CONFIGURE_RSP;

/*-------------------------------------------------------------------------------------
	tOCTVC1_GSM_MSG_PROCESS_UNIT_LIST_CMD
 		List all precess unit

 Members:
	Header
 		OCTVC1 Message Header
	ObjectCursor
 		Object Cursor.
-------------------------------------------------------------------------------------*/
typedef struct
{
	tOCTVC1_MSG_HEADER			Header;
	tOCTVC1_CURSOR_HANDLE_GET	ObjectCursor;

} tOCTVC1_GSM_MSG_PROCESS_UNIT_LIST_CMD;

/*-------------------------------------------------------------------------------------
	tOCTVC1_GSM_MSG_PROCESS_UNIT_LIST_RSP

 Members:
	Header
	ObjectCursor
 		Object Cursor.
	ObjectList
 		List of opened voice terminations.
-------------------------------------------------------------------------------------*/
typedef struct
{
	tOCTVC1_MSG_HEADER			Header;
	tOCTVC1_CURSOR_HANDLE_GET	ObjectCursor;
	tOCTVC1_LIST_HANDLE_GET		ObjectList;

} tOCTVC1_GSM_MSG_PROCESS_UNIT_LIST_RSP;

/*-------------------------------------------------------------------------------------
	tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_CMD

 Members:
	Header
 		OCTVC1 Message Header
	ObjectGet
 		Generic object get structure.
-------------------------------------------------------------------------------------*/
typedef struct
{
	tOCTVC1_MSG_HEADER			Header;
	tOCTVC1_CURSOR_HANDLE_GET	ObjectGet;

} tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_CMD;

/*-------------------------------------------------------------------------------------
	tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_RSP

 Members:
	Header
 		OCTVC1 Message Header
	ObjectGet
 		Generic object get structure.
	ulProcessType
	ulInstance
	ulMasterCore
	ulCoreId
-------------------------------------------------------------------------------------*/
typedef struct
{
	tOCTVC1_MSG_HEADER				Header;
	tOCTVC1_CURSOR_HANDLE_GET		ObjectGet;
	tOCTVC1_GSM_PROCESS_TYPE_ENUM	ulProcessType;
	tOCT_UINT32						ulInstance;
	tOCT_BOOL32						ulMasterCore;
	tOCT_UINT32						ulCoreId;

} tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_RSP;

/*-------------------------------------------------------------------------------------
	tOCTVC1_GSM_MSG_PROCESS_UNIT_STATS_CMD

 Members:
	Header
 		OCTVC1 Message Header
	ObjectGet
 		Generic object get structure.
	ulResetStatsFlag
 		Whether or not to reset the statistics counters to zero after the current
 		values are returned. cOCT_TRUE: resets the statistics counters to zero after
 		the current values are returned. cOCT_FALSE: returns the current values but
 		does not reset the statistics counters.
-------------------------------------------------------------------------------------*/
typedef struct
{
	tOCTVC1_MSG_HEADER			Header;
	tOCTVC1_CURSOR_HANDLE_GET	ObjectGet;
	tOCT_BOOL32					ulResetStatsFlag;

} tOCTVC1_GSM_MSG_PROCESS_UNIT_STATS_CMD;

/*-------------------------------------------------------------------------------------
	tOCTVC1_GSM_MSG_PROCESS_UNIT_STATS_RSP

 Members:
	Header
 		OCTVC1 Message Header
	ObjectGet
 		Generic object get structure.
	ulLastFrameIndex
 		.
-------------------------------------------------------------------------------------*/
typedef struct
{
	tOCTVC1_MSG_HEADER			Header;
	tOCTVC1_CURSOR_HANDLE_GET	ObjectGet;
	tOCT_UINT32					ulLastFrameIndex;

} tOCTVC1_GSM_MSG_PROCESS_UNIT_STATS_RSP;


/***************  INCLUDE FILES WITH DEPENDENCIES ON THIS FILE  **************/
#include "octvc1_gsm_evt.h"

#ifdef cDO_PRAGMA_PACK_POP
#pragma pack( pop )
#endif /* cDO_PRAGMA_PACK_POP */
#undef cDO_PRAGMA_PACK_POP

#endif /* __OCTVC1_GSM_API_H__ */

