abisptl.hpp
来自「ABis无线接口全套资料」· HPP 代码 · 共 272 行
HPP
272 行
/* ======================================================================== *\
|
|
| JOYIT Communications
| Copyright (C) 2003-2008, All Right Reserved.
|
| System: PUBLIC
| Sub-system:
| Filename: datatype.hpp
| Environment: LINUX -- Red Hat 7.2 & GNU C/C++ Compiler 2.96
| Function description: This file declare the common data type
| for the system.
|
| <<History list>>
| Date Author Modify description
| -----------|---------------|-------------------------------------------
| 2008-06-19 Wu jianjin Inherited from PUB-3.0
|
\* ======================================================================== */
#ifndef _ABISPTL_HPP
#define _ABISPTL_HPP
/*
#ifndef _PUBDEF_HPP
#include "pubdef.hpp"
#endif
*/
#ifndef _PTLBASE_HPP
#include "ptlbase.hpp"
#endif
class CAbisPdu : public CPduBase
{
public:
CAbisPdu();
CAbisPdu(CAbisPdu& s);
~CAbisPdu();
void Show();
public:
virtual void Init();
virtual int Unpacked(char* ptr, UINT16 len); // Unpacked the PDU octets string.
virtual char* Output(UINT16& len); // Packed the PDU in dedicat model.
virtual int DecomposeJoyitApi(char* ptr, UINT16 len);
virtual char* ComposeJoyitApi(UINT16& len);
public:
virtual int Decode(char* ptr, UINT16 len);
virtual char* Encode(UINT16& len);
public:
int RLLMMDecoder(char* ptr, UINT16 len);
int DCMMDecoder(char* ptr, UINT16 len);
int CCMMDecoder(char* ptr, UINT16 len);
int TRXMMDecoder(char* ptr, UINT16 len);
int LSMDecoder(char* ptr, UINT16 len);
public:
// Radio link layer management messages decoder
int DataReqDecoder(char* ptr, UINT16 len);
int DataIndDecoder(char* ptr, UINT16 len);
int ErrorIndDecoder(char* ptr, UINT16 len);
int EstablishReqDecoder(char* ptr, UINT16 len);
int EstablishCnfrmDecoder(char* ptr, UINT16 len);
int EstablishIndDecoder(char* ptr, UINT16 len);
int ReleaseReqDecoder(char* ptr, UINT16 len);
int ReleaseCnfrmDecoder(char* ptr, UINT16 len);
int ReleaseIndDecoder(char* ptr, UINT16 len);
int UnitDataReqDecoder(char* ptr, UINT16 len);
int UnitDataIndDecoder(char* ptr, UINT16 len);
// Dedicated cahnnel management messages decoder
int ChannelActvDecoder(char* ptr, UINT16 len);
int ChannelActvAckDecoder(char* ptr, UINT16 len);
int ChannelActvNgtvAckDecoder(char* ptr, UINT16 len);
int ConnectionFailIndDecoder(char* ptr, UINT16 len);
int DeactivateSacchDecoder(char* ptr, UINT16 len);
int EncryptionCmdDecoder(char* ptr, UINT16 len);
int HandoverDetectionDecoder(char* ptr, UINT16 len);
int MeasurementRetDecoder(char* ptr, UINT16 len);
int ModeModifyDecoder(char* ptr, UINT16 len);
int ModeModifyAckDecoder(char* ptr, UINT16 len);
int ModeModifyNgtvAckDecoder(char* ptr, UINT16 len);
int PhysicalContextReqDecoder(char* ptr, UINT16 len);
int PhysicalContextCnfrmDecoder(char* ptr, UINT16 len);
int RfChannelRelDecoder(char* ptr, UINT16 len);
int MsPowerCtrlDecoder(char* ptr, UINT16 len);
int BsPowerCtrlDecoder(const char* const ptr, const UINT16 len);
int PreprocessConfDecoder(char* ptr, UINT16 len);
int PreprocessedMeasurementRetDeocder(char* ptr, UINT16 len);
int RfChannelReleaseAckDecoder(char* ptr, UINT16 len);
int SacchInfoModifyDecoder(char* ptr, UINT16 len);
int TalkerDetectionDecoder(char* ptr, UINT16 len);
int ListernerDetectionDecoder(char* ptr, UINT16 len);
int RemoteCodecConfRptDecoder(char* ptr, UINT16 len);
int RoundTripDelayRptDecoder(char* ptr, UINT16 len);
int PreHandoverNotificationDecoder(char* ptr, UINT16 len);
int MultirateCodecModificationReqDecoder(char* ptr, UINT16 len);
int MultirateCodecModificationAckDecoder(char* ptr, UINT16 len);
int MultirateCodecModificationNgtvAckDecoder(char* ptr, UINT16 len);
int MultirateCodecModificationPerformedDecoder(char* ptr, UINT16 len);
int TfoRptDecoder(char* ptr, UINT16 len);
int TfoModificationReqDecoder(char* ptr, UINT16 len);
// Common Channel management messages
int BcchInfoDecoder(char* ptr, UINT16 len);
int CcchLoadIndDeoder(char* ptr, UINT16 len);
// TRX management messages
int RfResourceIndDecoder(char* ptr, UINT16 len);
int SacchFillingDecoder(char* ptr, UINT16 len);
int OverloadDecoder(char* ptr, UINT16 len);
int ErrorReport(char* ptr, UINT16 len);
};
//
// Declare ABIS IE
//链路层头部的IE信息
#define ABIS_LK_IE_ADDRESS 0xf1
#define ABIS_LK_IE_CONTROL_I 0xf2
#define ABIS_LK_IE_CONTROL_S 0xf3
#define ABIS_LK_IE_CONTROL_U 0xf4
#define ABIS_LK_IE_MSG_TYPE 0xf5
#define ABIS_LK_IE_LINKNUMBER 0xf6
/*
The information elements used and the coding of their Element Identifier fields are:
Element
Identifier bits
8 7 6 5 4 3 2 1 Element name Reference
0 0 0 0 0 0 0 1 Channel Number 9.3.1
0 0 0 0 0 0 1 0 Link Identifier 9.3.2
0 0 0 0 0 0 1 1 Activation Type 9.3.3
0 0 0 0 0 1 0 0 BS Power 9.3.4
0 0 0 0 0 1 0 1 Channel Identification 9.3.5
0 0 0 0 0 1 1 0 ChannelMode 9.3.6
0 0 0 0 0 1 1 1 Encryption Information 9.3.7
0 0 0 0 1 0 0 0 Frame Number 9.3.8
0 0 0 0 1 0 0 1 Handover Reference 9.3.9
0 0 0 0 1 0 1 0 L1 Information 9.3.10
0 0 0 0 1 0 1 1 L3 Information 9.3.11
0 0 0 0 1 1 0 0 MS Identity 9.3.12
0 0 0 0 1 1 0 1 MS Power 9.3.13
0 0 0 0 1 1 1 0 Paging Group 9.3.14
0 0 0 0 1 1 1 1 Paging Load 9.3.15
0 0 0 1 0 0 0 0 Physical Context 9.3.16
0 0 0 1 0 0 0 1 Access Delay 9.3.17
0 0 0 1 0 0 1 0 RACH Load 9.3.18
0 0 0 1 0 0 1 1 Request Reference 9.3.19
0 0 0 1 0 1 0 0 Release Mode 9.3.20
0 0 0 1 0 1 0 1 Resource Information 9.3.21
0 0 0 1 0 1 1 0 RLMCause 9.3.22
0 0 0 1 0 1 1 1 Starting Time 9.3.23
0 0 0 1 1 0 0 0 Timing Advance 9.3.24
0 0 0 1 1 0 0 1 UplinkMeasurements 9.3.25
0 0 0 1 1 0 1 0 Cause 9.3.26
0 0 0 1 1 0 1 1 Measurement result number 9.3.27
0 0 0 1 1 1 0 0 Message Identifier 9.3.28
0 0 0 1 1 1 0 1 reserved
0 0 0 1 1 1 1 0 SystemInfo Type 9.3.30
0 0 0 1 1 1 1 1 MS Power Parameters 9.3.31
0 0 1 0 0 0 0 0 BS Power Parameters 9.3.32
0 0 1 0 0 0 0 1 Pre-processing Parameters 9.3.33
0 0 1 0 0 0 1 0 Pre-processed Measurements 9.3.34
0 0 1 0 0 0 1 1 reserved
0 0 1 0 0 1 0 0 SMSCB Information 9.3.36
0 0 1 0 0 1 0 1 MS Timing Offset 9.3.37
0 0 1 0 0 1 1 0 ErroneousMessage 9.3.38
0 0 1 0 0 1 1 1 Full BCCH Information 9.3.39
0 0 1 0 1 0 0 0 Channel Needed 9.3.40
0 0 1 0 1 0 0 1 CB Command type 9.3.41
0 0 1 0 1 0 1 0 SMSCB message 9.3.42
0 0 1 0 1 0 1 1 Full Immediate Assign Info 9.3.35
0 0 1 0 1 1 0 0 SACCH Information 9.3.29
0 0 1 0 1 1 0 1 CBCH Load Information 9.3.43
Element
Identifier bits
8 7 6 5 4 3 2 1 Element name Reference
0 0 1 0 1 1 1 0 SMSCB Channel Indicator 9.3.44
0 0 1 0 1 1 1 1 Group call reference 9.3.45
0 0 1 1 0 0 0 0 Channel description 9.3.46
0 0 1 1 0 0 0 1 NCH DRX information 9.3.47
0 0 1 1 0 0 1 0 Command indicator 9.3.48
0 0 1 1 0 0 1 1 eMLPP Priority 9.3.49
0 0 1 1 0 1 0 0 UIC 9.3.50
0 0 1 1 0 1 0 1 Main channel reference 9.3.51
0 0 1 1 0 1 1 0 MultiRate configuration 9.3.52
0 0 1 1 0 1 1 1 MultiRate Control 9.3.53
0 0 1 1 1 0 0 0 Supported Codec Types 9.3.54
0 0 1 1 1 0 0 1 Codec Configuration 9.3.55
0 0 1 1 1 0 1 0 Round Trip Delay 9.3.56
0 0 1 1 1 0 1 1 TFO Status 9.3.57
0 0 1 1 1 1 0 0 LLP APDU 9.3.58
0 0 1 1 1 1 0 1
to
1 1 1 0 1 1 1 1 Reserved for future use
1 1 1 1 0 0 0 0
to
1 1 1 1 1 1 1 1 Not used
*/
//网络层
#define ABIS_NT_IE_CHANNEL_NUMBER 0x01
#define ABIS_NT_IE_LINK_IDENTIFIER 0x02
#define ABIS_NT_IE_ACTIVATION_TYPE 0x03
#define ABIS_NT_IE_BS_POWER 0x04
#define ABIS_NT_IE_CHANNEL_IDENTIFICATION 0x05
#define ABIS_NT_IE_CHANNEL_MODE 0x06
#define ABIS_NT_IE_ENCRYPTION_INFORMATION 0x07
#define ABIS_NT_IE_FRAME_NUMBER 0x08
#define ABIS_NT_IE_HANDOVER_REFERENCE 0x09
#define ABIS_NT_IE_L1_INFORMATION 0x0a
#define ABIS_NT_IE_L3_INFORMATION 0x0b
#define ABIS_NT_IE_MS_IDENTITY 0x0c
#define ABIS_NT_IE_MS_POWER 0x0d
#define ABIS_NT_IE_PAGING_GROUP 0x0e
#define ABIS_NT_IE_PAGING_LOAD 0x0f
#define ABIS_NT_IE_PHYSICAL_CONTEXT 0x10
#define ABIS_NT_IE_ACESS_DELAY 0x11
#define ABIS_NT_IE_RACH_LOAD 0x12
#define ABIS_NT_IE_REQUESTREFERNCE 0x13
#define ABIS_NT_IE_RELEASE_MODE 0x14
#define ABIS_NT_IE_RESOURCE_INFORMATION 0x15
#define ABIS_NT_IE_RLM_CAUSE 0x16
#define ABIS_NT_IE_STARTING_TIME 0x17
#define ABIS_NT_IE_TIMING_ADVANCE 0x18
#define ABIS_NT_IE_UPLINK_MEASUREMENTS 0x19
#define ABIS_NT_IE_CAUSE 0x1a
#define ABIS_NT_IE_MEASUREMENT_RESULT_NUMBER 0x1b
#define ABIS_NT_IE_MESSAGE_IDENTIFIER 0x1c
#define ABIS_NT_IE_RESERVED 0x1d
#define ABIS_NT_IE_SYSTEM_INFO_TYPE 0x1e
#define ABIS_NT_IE_MS_POWER_PARAMETERS 0x1f
#define ABIS_NT_IE_BS_POWER_PARAMETERS 0x20
#define ABIS_NT_IE_PRE_PROCESSING_PARAMETERS 0x21
#define ABIS_NT_IE_PRE_PROCESSED_MEASUREMENTS 0x22
#define ABIS_NT_IE_RESERVED 0x23
#define ABIS_NT_IE_SMSCB_INFORMATION 0x24
#define ABIS_NT_IE_MS_TIMING_OFFSET 0x25
#define ABIS_NT_IE_ERRONEOUS_MESSAGE 0x26
#define ABIS_NT_IE_FULL_BCCH_INFORMATION 0x27
#define ABIS_NT_IE_CHANNEL_NEEDED 0x28
#define ABIS_NT_IE_CB_COMMOND_TYPE 0x29
#define ABIS_NT_IE_SMSCB_MESSAGE 0x2a
#define ABIS_NT_IE_FULL_IMMEDIATE_ASSIGN_INFO 0x2b
#define ABIS_NT_IE_SACCH_INFORMATION 0x2c
#define ABIS_NT_IE_CBCH_LOAD_INFORMATION 0x2d
#define ABIS_NT_IE_SMSCB_CHANNEL_INDICATOR 0x2e
#define ABIS_NT_IE_GROUP_ALL_REFERNCE 0x2f
#define ABIS_NT_IE_CHANNEL_DESCRIPTION 0x30
#define ABIS_NT_IE_NCH_DRX_INFORMATION 0x31
#define ABIS_NT_IE_COMMAND_INDICATOR 0x32
#define ABIS_NT_IE_EMLPP_PRIORITY 0x33
#define ABIS_NT_IE_UIC 0x34
#define ABIS_NT_IE_MAIN_CHANNEL_REFERNCE 0x35
#define ABIS_NT_IE_MULTIRATE_CONFIGURATION 0x36
#define ABIS_NT_IE_MULITRATE_CONTROL 0x37
#define ABIS_NT_IE_SUPPORTED_CODEC_TYPES 0x38
#define ABIS_NT_IE_CODEC_CONFIGURATION 0x39
#define ABIS_NT_IE_ROUND_TRIP_DELAY 0x3a
#define ABIS_NT_IE_TFO_STATUS 0x3b
#define ABIS_NT_IE_LLP_APDU 0x3c
// Declare ABIS signal message type.
//
#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?