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 + -
显示快捷键?