rrc_messages_types.h 3.05 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
/*
 * rrc_messages_types.h
 *
 *  Created on: Oct 24, 2013
 *      Author: winckel
 */

#ifndef RRC_MESSAGES_TYPES_H_
#define RRC_MESSAGES_TYPES_H_

#include "UE-EUTRA-Capability.h"

//-------------------------------------------------------------------------------------------//
// Defines to access message fields.

16
17
#define RRC_MAC_IN_SYNC_IND(mSGpTR)             (mSGpTR)->msg.rrc_mac_in_sync_ind
#define RRC_MAC_OUT_OF_SYNC_IND(mSGpTR)         (mSGpTR)->msg.rrc_mac_out_of_sync_ind
18
19

#define RRC_MAC_BCCH_DATA_REQ(mSGpTR)           (mSGpTR)->msg.rrc_mac_bcch_data_req
20
#define RRC_MAC_BCCH_DATA_IND(mSGpTR)           (mSGpTR)->msg.rrc_mac_bcch_data_ind
21
22
23

#define RRC_MAC_CCCH_DATA_REQ(mSGpTR)           (mSGpTR)->msg.rrc_mac_ccch_data_req
#define RRC_MAC_CCCH_DATA_CNF(mSGpTR)           (mSGpTR)->msg.rrc_mac_ccch_data_cnf
24
#define RRC_MAC_CCCH_DATA_IND(mSGpTR)           (mSGpTR)->msg.rrc_mac_ccch_data_ind
25
26

#define RRC_MAC_MCCH_DATA_REQ(mSGpTR)           (mSGpTR)->msg.rrc_mac_mcch_data_req
27
#define RRC_MAC_MCCH_DATA_IND(mSGpTR)           (mSGpTR)->msg.rrc_mac_mcch_data_ind
28

29
30
#define RRC_DCCH_DATA_REQ(mSGpTR)               (mSGpTR)->msg.rrc_dcch_data_req
#define RRC_DCCH_DATA_IND(mSGpTR)               (mSGpTR)->msg.rrc_dcch_data_ind
31

32
33
34
35
36
// Some constants from "LAYER2/MAC/defs.h"
#define BCCH_SDU_SIZE                           (128)
#define CCCH_SDU_SIZE                           (128)
#define MCCH_SDU_SIZE                           (128)

37
38
39
40
41
42
43
44
45
46
47
48
typedef UE_EUTRA_Capability_t RrcUeEutraCapability;

//-------------------------------------------------------------------------------------------//
// Messages from MAC layer

typedef struct {
  uint32_t frame;
  uint16_t enb_index;
} RrcMacInSyncInd;

typedef RrcMacInSyncInd RrcMacOutOfSyncInd;

49
50
51
typedef struct {
  uint32_t frame;
  uint32_t sdu_size;
52
  uint8_t sdu[BCCH_SDU_SIZE];
53
54
55
  uint8_t enb_index;
} RrcMacBcchDataReq;

56
57
58
typedef struct {
  uint32_t frame;
  uint32_t sdu_size;
59
  uint8_t sdu[BCCH_SDU_SIZE];
60
61
62
  uint8_t enb_index;
} RrcMacBcchDataInd;

63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
typedef struct {
  uint32_t frame;
  uint32_t sdu_size;
  uint8_t sdu[CCCH_SDU_SIZE];
  uint8_t enb_index;
} RrcMacCcchDataReq;

typedef struct {
  uint8_t enb_index;
} RrcMacCcchDataCnf;

typedef struct {
    uint32_t frame;
    uint32_t sdu_size;
    uint8_t sdu[CCCH_SDU_SIZE];
    uint8_t enb_index;
} RrcMacCcchDataInd;
80

81
typedef struct {
82
83
84
  uint32_t frame;
  uint32_t sdu_size;
  uint8_t sdu[MCCH_SDU_SIZE];
85
  uint8_t enb_index;
86
87
  uint8_t mbsfn_sync_area;
} RrcMacMcchDataReq;
88

89
90
91
typedef struct {
  uint32_t frame;
  uint32_t sdu_size;
92
  uint8_t sdu[MCCH_SDU_SIZE];
93
  uint8_t enb_index;
94
95
96
97
  uint8_t mbsfn_sync_area;
} RrcMacMcchDataInd;

//-------------------------------------------------------------------------------------------//
98
99
100
101
102
103
104
105
106
107
108
109
// Messages from/to PDCP layer

typedef struct {
  uint32_t frame;
  uint8_t enb_flag;
  uint32_t rb_id;
  uint32_t muip;
  uint32_t confirmp;
  uint32_t sdu_size;
  uint8_t *sdu_p;
  uint8_t mode;
} RrcDcchDataReq;
110
111
112
113
114
115
116
117
118
119

typedef struct {
  uint32_t frame;
  uint8_t dcch_index;
  uint32_t sdu_size;
  uint8_t *sdu_p;
  uint8_t ue_index;
} RrcDcchDataInd;

#endif /* RRC_MESSAGES_TYPES_H_ */