libosmocore  1.5.1
Osmocom core library
gsmtap_util.c File Reference
#include "../config.h"
#include <osmocom/core/gsmtap_util.h>
#include <osmocom/core/logging.h>
#include <osmocom/core/gsmtap.h>
#include <osmocom/core/msgb.h>
#include <osmocom/core/talloc.h>
#include <osmocom/core/select.h>
#include <osmocom/core/socket.h>
#include <osmocom/core/byteswap.h>
#include <osmocom/gsm/protocol/gsm_04_08.h>
#include <osmocom/gsm/rsl.h>
#include <sys/types.h>
#include <stdio.h>
#include <unistd.h>
#include <stdint.h>
#include <string.h>
#include <errno.h>
#include <sys/socket.h>
#include <netinet/in.h>

Functions

uint8_t chantype_rsl2gsmtap2 (uint8_t rsl_chantype, uint8_t link_id, bool user_plane)
 convert RSL channel number to GSMTAP channel type More...
 
uint8_t chantype_rsl2gsmtap (uint8_t rsl_chantype, uint8_t link_id)
 convert RSL channel number to GSMTAP channel type More...
 
void chantype_gsmtap2rsl (uint8_t gsmtap_chantype, uint8_t *rsl_chantype, uint8_t *link_id)
 convert GSMTAP channel type to RSL channel number + Link ID More...
 
struct msgbgsmtap_makemsg_ex (uint8_t type, uint16_t arfcn, uint8_t ts, uint8_t chan_type, uint8_t ss, uint32_t fn, int8_t signal_dbm, int8_t snr, const uint8_t *data, unsigned int len)
 create an arbitrary type GSMTAP message More...
 
struct msgbgsmtap_makemsg (uint16_t arfcn, uint8_t ts, uint8_t chan_type, uint8_t ss, uint32_t fn, int8_t signal_dbm, int8_t snr, const uint8_t *data, unsigned int len)
 create L1/L2 data and put it into GSMTAP More...
 
int gsmtap_source_init_fd (const char *host, uint16_t port)
 Create a new (sending) GSMTAP source socket. More...
 
int gsmtap_source_add_sink_fd (int gsmtap_fd)
 Add a local sink to an existing GSMTAP source and return fd. More...
 
int gsmtap_sendmsg (struct gsmtap_inst *gti, struct msgb *msg)
 Send a Message buffers through a GSMTAP source. More...
 
int gsmtap_send_ex (struct gsmtap_inst *gti, uint8_t type, uint16_t arfcn, uint8_t ts, uint8_t chan_type, uint8_t ss, uint32_t fn, int8_t signal_dbm, int8_t snr, const uint8_t *data, unsigned int len)
 send an arbitrary type through GSMTAP. More...
 
int gsmtap_send (struct gsmtap_inst *gti, uint16_t arfcn, uint8_t ts, uint8_t chan_type, uint8_t ss, uint32_t fn, int8_t signal_dbm, int8_t snr, const uint8_t *data, unsigned int len)
 send a message from L1/L2 through GSMTAP. More...
 
static int gsmtap_wq_w_cb (struct osmo_fd *ofd, struct msgb *msg)
 
static int gsmtap_sink_fd_cb (struct osmo_fd *fd, unsigned int flags)
 
int gsmtap_source_add_sink (struct gsmtap_inst *gti)
 Add a local sink to an existing GSMTAP source and return fd. More...
 
struct gsmtap_instgsmtap_source_init (const char *host, uint16_t port, int ofd_wq_mode)
 Open GSMTAP source socket, connect and register osmo_fd. More...
 

Variables

const struct value_string gsmtap_gsm_channel_names []
 
const struct value_string gsmtap_type_names []
 

Detailed Description

GSMTAP support code in libosmocore.