libosmogsm  0.6.3
Osmocom GSM library
l1sap.h
1 #ifndef _OSMOCOM_L1SAP_H
2 #define _OSMOCOM_L1SAP_H
3 
4 #include <osmocom/core/prim.h>
5 
7 enum osmo_ph_prim {
8  PRIM_PH_DATA,
9  PRIM_PH_RACH,
10  PRIM_PH_CONN,
11  PRIM_PH_EMPTY_FRAME,
12  PRIM_PH_RTS,
13  PRIM_MPH_INFO,
14  PRIM_TCH,
15  PRIM_TCH_RTS,
16 };
17 
19 enum osmo_mph_info_type {
20  PRIM_INFO_TIME,
21  PRIM_INFO_MEAS,
22  PRIM_INFO_ACTIVATE,
23  PRIM_INFO_DEACTIVATE,
24  PRIM_INFO_MODIFY,
25  PRIM_INFO_ACT_CIPH,
26  PRIM_INFO_DEACT_CIPH,
27 };
28 
31  uint8_t ra;
32  uint8_t ta;
33  uint8_t tx_power;
35  uint16_t offset;
36 };
37 
40  uint8_t chan_nr;
41  uint8_t ra;
42  uint8_t acc_delay;
43  uint32_t fn;
44 };
45 
47 struct ph_data_param {
48  uint8_t link_id;
49  uint8_t chan_nr;
50  uint32_t fn;
51  int8_t rssi;
52 };
53 
55 struct ph_tch_param {
56  uint8_t chan_nr;
57  uint32_t fn;
58  int8_t rssi;
59 };
60 
63  uint32_t fn;
64 };
65 
68  uint32_t fn;
69 };
70 
73  uint8_t chan_nr;
74  uint16_t ber10k;
75  int16_t ta_offs_qbits;
76  int16_t c_i_cb;
77  uint8_t is_sub:1;
78  uint8_t inv_rssi;
79 };
80 
83  uint8_t chan_nr;
84  uint8_t sacch_only;
85 };
86 
89  uint8_t chan_nr;
90  uint8_t cause;
91 };
92 
95  uint8_t chan_nr;
96  uint8_t downlink;
97  uint8_t uplink;
98 };
99 
102  enum osmo_mph_info_type type;
103  union {
104  struct info_time_ind_param time_ind;
105  struct info_meas_ind_param meas_ind;
106  struct info_act_req_param act_req;
107  struct info_act_cnf_param act_cnf;
108  struct info_ciph_req_param ciph_req;
109  } u;
110 };
111 
114  struct osmo_prim_hdr oph;
115  union {
116  struct ph_data_param data;
117  struct ph_tch_param tch;
118  struct ph_rach_req_param rach_req;
119  struct ph_rach_ind_param rach_ind;
120  struct ph_conn_ind_param conn_ind;
121  struct mph_info_param info;
122  } u;
123 };
124 
125 #endif /* _OSMOCOM_L1SAP_H */