libosmogsm 1.9.0.196-9975
Osmocom GSM library
ipa.c File Reference

OpenBSC Abis input driver for ip.access. More...

#include "config.h"
#include <unistd.h>
#include <stdint.h>
#include <errno.h>
#include <stdlib.h>
#include <sys/types.h>
#include <osmocom/core/byteswap.h>
#include <osmocom/core/msgb.h>
#include <osmocom/core/talloc.h>
#include <osmocom/core/logging.h>
#include <osmocom/core/macaddr.h>
#include <osmocom/core/select.h>
#include <osmocom/gsm/tlv.h>
#include <osmocom/gsm/protocol/ipaccess.h>
#include <osmocom/gsm/ipa.h>

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)
 Parse the payload part of an IPA CCM ID GET, return tlv_parsed format. More...
 
int ipa_ccm_idtag_parse_off (struct tlv_parsed *dec, unsigned char *buf, int len, const int len_offset)
 Parse the payload part of an IPA CCM ID GET, return tlv_parsed format. More...
 
int ipa_ccm_id_get_parse (struct tlv_parsed *dec, const uint8_t *buf, unsigned int len)
 Parse the payload part of an IPA CCM ID GET, return tlv_parsed format. More...
 
int ipa_ccm_id_resp_parse (struct tlv_parsed *dec, const uint8_t *buf, unsigned int len)
 Parse the payload part of an IPA CCM ID RESP, return tlv_parsed format. More...
 
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)
 Fill ud struct from tp structure. More...
 
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. More...
 
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. 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 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

OpenBSC Abis input driver for ip.access.