libosmogsm  0.9.6.277-11f2
Osmocom GSM library
 All Data Structures Files Functions Variables Enumerations Enumerator Modules Pages
Ipa

IPA Multiplex utility routines. More...

Macros

#define IPA_ALLOC_SIZE   1200
 
#define IPA_STRING_MAX   64
 

Functions

const char * ipa_ccm_idtag_name (uint8_t tag)
 
int ipa_ccm_idtag_parse (struct tlv_parsed *dec, unsigned char *buf, int len)
 
int ipa_ccm_idtag_parse_off (struct tlv_parsed *dec, unsigned char *buf, int len, const int len_offset)
 
int ipa_parse_unitid (const char *str, struct ipaccess_unit *unit_data)
 
int ipa_ccm_tlv_to_unitdata (struct ipaccess_unit *ud, const struct tlv_parsed *tp)
 
struct msgb * ipa_ccm_make_id_resp (const struct ipaccess_unit *dev, const uint8_t *ies_req, unsigned int num_ies_req)
 Generate IPA CCM ID RESP based on list of IEs. More...
 
struct msgb * ipa_ccm_make_id_resp_from_req (const struct ipaccess_unit *dev, const uint8_t *data, unsigned int len)
 Generate IPA CCM ID RESP based on requets payload. More...
 
int ipa_send (int fd, const void *msg, size_t msglen)
 
int ipa_ccm_send_pong (int fd)
 
int ipa_ccm_send_id_ack (int fd)
 
int ipa_ccm_send_id_req (int fd)
 
int ipa_ccm_rcvmsg_base (struct msgb *msg, struct osmo_fd *bfd)
 
int ipa_ccm_rcvmsg_bts_base (struct msgb *msg, struct osmo_fd *bfd)
 
void ipa_prepend_header_ext (struct msgb *msg, int proto)
 
void ipa_prepend_header (struct msgb *msg, int proto)
 
struct msgb * ipa_msg_alloc (int headroom)
 

Variables

static const uint8_t ipa_pong_msg []
 
static const uint8_t ipa_id_ack_msg []
 
static const uint8_t ipa_id_req_msg []
 
static const char * idtag_names []
 

Detailed Description

IPA Multiplex utility routines.

Function Documentation

struct msgb* ipa_ccm_make_id_resp ( const struct ipaccess_unit dev,
const uint8_t *  ies_req,
unsigned int  num_ies_req 
)

Generate IPA CCM ID RESP based on list of IEs.

Parameters
[in]devDescriptor describing identity data for response
[in]ies_reqList of IEIs to include in response
[in]num_ies_reqNumber of IEIs in ies_req
Returns
Message buffer with IPA CCM ID RESP

Referenced by ipa_ccm_make_id_resp_from_req().

struct msgb* ipa_ccm_make_id_resp_from_req ( const struct ipaccess_unit dev,
const uint8_t *  data,
unsigned int  len 
)

Generate IPA CCM ID RESP based on requets payload.

Parameters
[in]devDescriptor describing identity data for response
[in]dataPayload of the IPA CCM ID GET request
[in]lenLength of data in octets
Returns
Message buffer with IPA CCM ID RESP

References ipa_ccm_make_id_resp().

Variable Documentation

const char* idtag_names[]
static
Initial value:
= {
[IPAC_IDTAG_SERNR] = "Serial_Number",
[IPAC_IDTAG_UNITNAME] = "Unit_Name",
[IPAC_IDTAG_LOCATION1] = "Location_1",
[IPAC_IDTAG_LOCATION2] = "Location_2",
[IPAC_IDTAG_EQUIPVERS] = "Equipment_Version",
[IPAC_IDTAG_SWVERSION] = "Software_Version",
[IPAC_IDTAG_IPADDR] = "IP_Address",
[IPAC_IDTAG_MACADDR] = "MAC_Address",
[IPAC_IDTAG_UNIT] = "Unit_ID",
}
const uint8_t ipa_id_ack_msg[]
static
Initial value:
= {
0, 1, IPAC_PROTO_IPACCESS, IPAC_MSGT_ID_ACK
}
const uint8_t ipa_id_req_msg[]
static
Initial value:
= {
0, 17, IPAC_PROTO_IPACCESS, IPAC_MSGT_ID_GET,
0x01, IPAC_IDTAG_UNIT,
0x01, IPAC_IDTAG_MACADDR,
0x01, IPAC_IDTAG_LOCATION1,
0x01, IPAC_IDTAG_LOCATION2,
0x01, IPAC_IDTAG_EQUIPVERS,
0x01, IPAC_IDTAG_SWVERSION,
0x01, IPAC_IDTAG_UNITNAME,
0x01, IPAC_IDTAG_SERNR,
}
const uint8_t ipa_pong_msg[]
static
Initial value:
= {
0, 1, IPAC_PROTO_IPACCESS, IPAC_MSGT_PONG
}