libosmocore
0.9.3
Osmocom core library
|
00001 #pragma once 00002 00003 #include <stdint.h> 00004 #include <osmocom/core/write_queue.h> 00005 #include <osmocom/core/select.h> 00006 00012 uint8_t chantype_rsl2gsmtap(uint8_t rsl_chantype, uint8_t rsl_link_id); 00013 00014 struct msgb *gsmtap_makemsg_ex(uint8_t type, uint16_t arfcn, uint8_t ts, uint8_t chan_type, 00015 uint8_t ss, uint32_t fn, int8_t signal_dbm, 00016 uint8_t snr, const uint8_t *data, unsigned int len); 00017 00018 struct msgb *gsmtap_makemsg(uint16_t arfcn, uint8_t ts, uint8_t chan_type, 00019 uint8_t ss, uint32_t fn, int8_t signal_dbm, 00020 uint8_t snr, const uint8_t *data, unsigned int len); 00021 00023 struct gsmtap_inst { 00024 int ofd_wq_mode; 00025 struct osmo_wqueue wq; 00026 struct osmo_fd sink_ofd; 00027 }; 00028 00030 static inline int gsmtap_inst_fd(struct gsmtap_inst *gti) 00031 { 00032 return gti->wq.bfd.fd; 00033 } 00034 00035 int gsmtap_source_init_fd(const char *host, uint16_t port); 00036 00037 int gsmtap_source_add_sink_fd(int gsmtap_fd); 00038 00039 struct gsmtap_inst *gsmtap_source_init(const char *host, uint16_t port, 00040 int ofd_wq_mode); 00041 00042 int gsmtap_source_add_sink(struct gsmtap_inst *gti); 00043 00044 int gsmtap_sendmsg(struct gsmtap_inst *gti, struct msgb *msg); 00045 00046 int gsmtap_send_ex(struct gsmtap_inst *gti, uint8_t type, uint16_t arfcn, uint8_t ts, 00047 uint8_t chan_type, uint8_t ss, uint32_t fn, 00048 int8_t signal_dbm, uint8_t snr, const uint8_t *data, 00049 unsigned int len); 00050 00051 int gsmtap_send(struct gsmtap_inst *gti, uint16_t arfcn, uint8_t ts, 00052 uint8_t chan_type, uint8_t ss, uint32_t fn, 00053 int8_t signal_dbm, uint8_t snr, const uint8_t *data, 00054 unsigned int len); 00055