X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=include%2Fl1ctl_proto.h;h=397058837cdd4d9b1027ff1bdbb0a27ba28a0b3f;hb=c7d20dfc41e907c38c015a0bfacb1f79f399b875;hp=24cb64bab4c669ed4451a5dca04b4e2d6e478a6b;hpb=ff37a753e3eb78c5c969fa02b181d1256c2bbaeb;p=osmocom-bb.git diff --git a/include/l1ctl_proto.h b/include/l1ctl_proto.h index 24cb64b..3970588 100644 --- a/include/l1ctl_proto.h +++ b/include/l1ctl_proto.h @@ -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__ */