l1ctl: Add definition for TRAFFIC_{REQ,CONF,IND}
[osmocom-bb.git] / include / l1ctl_proto.h
index 24cb64b..3970588 100644 (file)
@@ -51,6 +51,11 @@ enum {
        L1CTL_SIM_CONF,
        L1CTL_TCH_MODE_REQ,
        L1CTL_TCH_MODE_CONF,
+       L1CTL_NEIGH_PM_REQ,
+       L1CTL_NEIGH_PM_IND,
+       L1CTL_TRAFFIC_REQ,
+       L1CTL_TRAFFIC_CONF,
+       L1CTL_TRAFFIC_IND,
 };
 
 enum ccch_mode {
@@ -59,6 +64,14 @@ enum ccch_mode {
        CCCH_MODE_COMBINED,
 };
 
+enum neigh_mode {
+       NEIGH_MODE_NONE = 0,
+       NEIGH_MODE_PM,
+       NEIGH_MODE_SB,
+};
+
+#define TRAFFIC_DATA_LEN       40
+
 /*
  * NOTE: struct size. We do add manual padding out of the believe
  * that it will avoid some unaligned access.
@@ -120,6 +133,11 @@ struct l1ctl_data_ind {
        uint8_t data[23];
 } __attribute__((packed));
 
+/* traffic from the network */
+struct l1ctl_traffic_ind {
+       uint8_t data[TRAFFIC_DATA_LEN];
+} __attribute__((packed));
+
 /*
  * uplink info
  */
@@ -176,9 +194,8 @@ struct l1ctl_tch_mode_req {
 /* the l1_info_ul header is in front */
 struct l1ctl_rach_req {
        uint8_t ra;
-       uint8_t fn51;
-       uint8_t mf_off;
-       uint8_t padding[1];
+       uint8_t combined;
+       uint16_t offset;
 } __attribute__((packed));
 
 /* the l1_info_ul header is in front */
@@ -256,4 +273,21 @@ struct l1ctl_reset {
        uint8_t pad[3];
 } __attribute__((packed));
 
+struct l1ctl_neigh_pm_req {
+       uint8_t n;
+       uint8_t padding[1];
+       uint16_t band_arfcn[64];
+} __attribute__((packed));
+
+/* neighbour cell measurement results */
+struct l1ctl_neigh_pm_ind {
+       uint16_t band_arfcn;
+       uint8_t pm[2];
+} __attribute__((packed));
+
+/* traffic data to network */
+struct l1ctl_traffic_req {
+       uint8_t data[TRAFFIC_DATA_LEN];
+} __attribute__((packed));
+
 #endif /* __L1CTL_PROTO_H__ */