libosmocore 0.9.6-23.20170220git32ee5af8.fc42
Osmocom core library
Loading...
Searching...
No Matches
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/gsm/protocol/gsm_04_08.h>
#include <osmocom/gsm/rsl.h>
#include <sys/types.h>
#include <arpa/inet.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_rsl2gsmtap (uint8_t rsl_chantype, uint8_t link_id)
 convert RSL channel number to GSMTAP channel type
 
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, uint8_t snr, const uint8_t *data, unsigned int len)
 create an arbitrary type GSMTAP message
 
struct msgbgsmtap_makemsg (uint16_t arfcn, uint8_t ts, uint8_t chan_type, uint8_t ss, uint32_t fn, int8_t signal_dbm, uint8_t snr, const uint8_t *data, unsigned int len)
 create L1/L2 data and put it into GSMTAP
 
int gsmtap_source_init_fd (const char *host, uint16_t port)
 Create a new (sending) GSMTAP source socket.
 
int gsmtap_source_add_sink_fd (int gsmtap_fd)
 Add a local sink to an existing GSMTAP source and return fd.
 
int gsmtap_sendmsg (struct gsmtap_inst *gti, struct msgb *msg)
 Send a Message buffers through a GSMTAP source.
 
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, uint8_t snr, const uint8_t *data, unsigned int len)
 send an arbitrary type through GSMTAP. See gsmtap_makemsg_ex for arguments
 
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, uint8_t snr, const uint8_t *data, unsigned int len)
 send a message from L1/L2 through GSMTAP. See gsmtap_makemsg for arguments
 
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.
 
struct gsmtap_instgsmtap_source_init (const char *host, uint16_t port, int ofd_wq_mode)
 Open GSMTAP source socket, connect and register osmo_fd.