/* Location Services (LCS): BSSLAP TA Request handling in OsmoBSC, API */ #pragma once #include #include #include #include #define LOG_LCS_TA_REQ(TA_REQ, level, fmt, args...) do { \ if (TA_REQ) \ LOGPFSML((TA_REQ)->fi, level, fmt, ## args); \ else \ LOGP(DLCS, level, "LCS TA Req: " fmt, ## args); \ } while (0) enum lcs_ta_req_fsm_event { LCS_TA_REQ_EV_GOT_TA, LCS_TA_REQ_EV_ABORT, }; struct lcs_ta_req { struct osmo_fsm_inst *fi; struct lcs_loc_req *loc_req; enum lcs_cause failure_cause; uint8_t failure_diagnostic_val; }; int lcs_ta_req_start(struct lcs_loc_req *lcs_loc_req); void lcs_bsslap_rx(struct gsm_subscriber_connection *conn, struct msgb *msg);