Sylvain Munaut | 12ba778 | 2014-06-16 10:13:40 +0200 | [diff] [blame] | 1 | #pragma once |
Harald Welte | f7a1bcc | 2011-05-22 22:45:16 +0200 | [diff] [blame] | 2 | |
Harald Welte | 4e777c3 | 2011-08-17 19:15:24 +0200 | [diff] [blame] | 3 | /*! \defgroup oml A-bis OML |
| 4 | * @{ |
| 5 | */ |
| 6 | |
Harald Welte | f7a1bcc | 2011-05-22 22:45:16 +0200 | [diff] [blame] | 7 | #include <osmocom/gsm/tlv.h> |
Harald Welte | fc90646 | 2011-06-05 11:22:59 +0200 | [diff] [blame] | 8 | #include <osmocom/gsm/gsm_utils.h> |
Harald Welte | f7a1bcc | 2011-05-22 22:45:16 +0200 | [diff] [blame] | 9 | #include <osmocom/gsm/protocol/gsm_12_21.h> |
| 10 | |
Harald Welte | 4e777c3 | 2011-08-17 19:15:24 +0200 | [diff] [blame] | 11 | /*! \file abis_nm.h */ |
| 12 | |
Harald Welte | 604d552 | 2014-08-17 18:42:58 +0200 | [diff] [blame] | 13 | extern const char abis_nm_ipa_magic[13]; |
| 14 | extern const char abis_nm_osmo_magic[12]; |
| 15 | |
Holger Hans Peter Freyther | 271c43b | 2011-05-31 00:42:38 +0200 | [diff] [blame] | 16 | enum abis_nm_msgtype; |
| 17 | enum gsm_phys_chan_config; |
| 18 | |
Tobias Engel | 6ad25f2 | 2012-10-24 17:52:53 +0200 | [diff] [blame] | 19 | extern const enum abis_nm_msgtype abis_nm_reports[4]; |
| 20 | extern const enum abis_nm_msgtype abis_nm_no_ack_nack[3]; |
| 21 | extern const enum abis_nm_msgtype abis_nm_sw_load_msgs[9]; |
| 22 | extern const enum abis_nm_msgtype abis_nm_nacks[33]; |
Harald Welte | f7a1bcc | 2011-05-22 22:45:16 +0200 | [diff] [blame] | 23 | |
Harald Welte | 8d5180e | 2014-08-17 19:36:26 +0200 | [diff] [blame] | 24 | extern const struct value_string abis_nm_msg_disc_names[]; |
Holger Hans Peter Freyther | 3036612 | 2011-05-23 21:41:34 +0200 | [diff] [blame] | 25 | extern const struct value_string abis_nm_obj_class_names[]; |
| 26 | extern const struct value_string abis_nm_adm_state_names[]; |
Harald Welte | ea4b12a | 2011-05-23 20:41:31 +0200 | [diff] [blame] | 27 | |
Harald Welte | f7a1bcc | 2011-05-22 22:45:16 +0200 | [diff] [blame] | 28 | const char *abis_nm_nack_cause_name(uint8_t cause); |
| 29 | const char *abis_nm_nack_name(uint8_t nack); |
| 30 | const char *abis_nm_event_type_name(uint8_t cause); |
| 31 | const char *abis_nm_severity_name(uint8_t cause); |
Tobias Engel | 6ad25f2 | 2012-10-24 17:52:53 +0200 | [diff] [blame] | 32 | extern const struct tlv_definition abis_nm_att_tlvdef; |
Harald Welte | f7a1bcc | 2011-05-22 22:45:16 +0200 | [diff] [blame] | 33 | const char *abis_nm_opstate_name(uint8_t os); |
| 34 | const char *abis_nm_avail_name(uint8_t avail); |
| 35 | const char *abis_nm_test_name(uint8_t test); |
Álvaro Neira Ayuso | 550b06c | 2014-05-19 19:22:55 +0200 | [diff] [blame] | 36 | extern const struct tlv_definition abis_nm_osmo_att_tlvdef; |
Max | 0bee65c | 2017-01-02 13:42:24 +0100 | [diff] [blame] | 37 | extern const struct tlv_definition abis_nm_att_tlvdef_ipa; |
Harald Welte | 868a5c4 | 2013-02-10 09:29:27 +0100 | [diff] [blame] | 38 | |
| 39 | /*! \brief write a human-readable OML header to the debug log |
| 40 | * \param[in] ss Logging sub-system |
| 41 | * \param[in] foh A-bis OML FOM header |
| 42 | */ |
| 43 | #define abis_nm_debugp_foh(ss, foh) \ |
| 44 | DEBUGP(ss, "OC=%s(%02x) INST=(%02x,%02x,%02x) ", \ |
Harald Welte | 647e39f | 2013-02-10 17:02:18 +0100 | [diff] [blame] | 45 | get_value_string(abis_nm_obj_class_names, (foh)->obj_class), \ |
| 46 | (foh)->obj_class, (foh)->obj_inst.bts_nr, (foh)->obj_inst.trx_nr, \ |
| 47 | (foh)->obj_inst.ts_nr) |
Harald Welte | 868a5c4 | 2013-02-10 09:29:27 +0100 | [diff] [blame] | 48 | |
Harald Welte | f7a1bcc | 2011-05-22 22:45:16 +0200 | [diff] [blame] | 49 | |
Harald Welte | 11c7193 | 2011-05-24 17:15:12 +0200 | [diff] [blame] | 50 | int abis_nm_chcomb4pchan(enum gsm_phys_chan_config pchan); |
Holger Hans Peter Freyther | d4d87c5 | 2014-01-02 14:10:25 +0100 | [diff] [blame] | 51 | enum gsm_phys_chan_config abis_nm_pchan4chcomb(uint8_t chcomb); |
Harald Welte | 4e777c3 | 2011-08-17 19:15:24 +0200 | [diff] [blame] | 52 | |
Sylvain Munaut | dca7d2c | 2012-04-18 21:53:23 +0200 | [diff] [blame] | 53 | /*! @} */ |