cac37cf722de92b02c97e274a54e8d2df0eb98c2
[osmocom-bb.git] / src / host / layer23 / include / osmocom / l1ctl.h
1 #ifndef osmocom_l1ctl_h
2 #define osmocom_l1ctl_h
3
4 #include <osmocore/msgb.h>
5 #include <osmocom/osmocom_data.h>
6
7 struct osmocom_ms;
8
9 /* Receive incoming data from L1 using L1CTL format */
10 int l1ctl_recv(struct osmocom_ms *ms, struct msgb *msg);
11
12 /* Transmit L1CTL_DATA_REQ */
13 int tx_ph_data_req(struct osmocom_ms *ms, struct msgb *msg,
14                    uint8_t chan_nr, uint8_t link_id);
15
16 /* Transmit L1CTL_RACH_REQ */
17 int tx_ph_rach_req(struct osmocom_ms *ms);
18
19 /* Transmit L1CTL_DM_EST_REQ */
20 int tx_ph_dm_est_req(struct osmocom_ms *ms, uint16_t band_arfcn,
21                      uint8_t chan_nr, uint8_t tsc);
22
23 /* Transmit L1CTL_DM_REL_REQ */
24 int tx_ph_dm_rel_req(struct osmocom_ms *ms);
25
26 /* Transmit FBSB_REQ */
27 int l1ctl_tx_fbsb_req(struct osmocom_ms *ms, uint16_t arfcn,
28                       uint8_t flags, uint16_t timeout, uint8_t sync_info_idx,
29                       uint8_t ccch_mode);
30
31 int l1ctl_tx_ccch_mode_req(struct osmocom_ms *ms, uint8_t ccch_mode);
32
33 int l1ctl_tx_echo_req(struct osmocom_ms *ms, unsigned int len);
34
35 /* Transmit L1CTL_RESET_REQ */
36 int l1ctl_tx_reset_req(struct osmocom_ms *ms, uint8_t type);
37
38 /* Transmit L1CTL_PM_REQ */
39 int l1ctl_tx_pm_req_range(struct osmocom_ms *ms, uint16_t arfcn_from,
40                           uint16_t arfcm_to);
41
42 #endif