libosmogsm  0.11.0-dirty
Osmocom GSM library
Ipa

IPA Multiplex utility routines. More...

Defines

#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 msgbipa_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.
struct msgbipa_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.
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 msgbipa_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.


Define Documentation

#define IPA_ALLOC_SIZE   1200
#define IPA_STRING_MAX   64

Referenced by ipa_ccm_make_id_resp().


Function Documentation

const char* ipa_ccm_idtag_name ( uint8_t  tag)

References ARRAY_SIZE, and idtag_names.

Referenced by ipa_ccm_idtag_parse_off().

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 
)
struct msgb* ipa_ccm_make_id_resp ( const struct ipaccess_unit dev,
const uint8_t *  ies_req,
unsigned int  num_ies_req 
) [read]
struct msgb* ipa_ccm_make_id_resp_from_req ( const struct ipaccess_unit dev,
const uint8_t *  data,
unsigned int  len 
) [read]

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 data, DLINP, ipa_ccm_make_id_resp(), LOGL_ERROR, and LOGP.

int ipa_ccm_send_id_ack ( int  fd)

References ipa_id_ack_msg, and ipa_send().

Referenced by ipa_ccm_rcvmsg_base().

int ipa_ccm_send_id_req ( int  fd)

References ipa_id_req_msg, and ipa_send().

int ipa_ccm_send_pong ( int  fd)
struct msgb* ipa_msg_alloc ( int  headroom) [read]

References msgb_alloc_headroom().

Referenced by ipa_ccm_make_id_resp().

int ipa_parse_unitid ( const char *  str,
struct ipaccess_unit unit_data 
)
void ipa_prepend_header ( struct msgb msg,
int  proto 
)
void ipa_prepend_header_ext ( struct msgb msg,
int  proto 
)
int ipa_send ( int  fd,
const void *  msg,
size_t  msglen 
)

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",
}

Referenced by ipa_ccm_idtag_name().

const uint8_t ipa_id_ack_msg[] [static]
Initial value:

Referenced by ipa_ccm_send_id_ack().

const uint8_t ipa_pong_msg[] [static]
Initial value:

Referenced by ipa_ccm_send_pong().

 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines