FreeCalypso > hg > ice1-trau-tester
view ater/read_ts.c @ 18:61862af2247f
ater: E1 timeslot output (osmo_i460 mux)
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Mon, 24 Jun 2024 07:26:20 +0000 |
parents | 4ffe22f5b4b5 |
children |
line wrap: on
line source
/* * The function in this module gets called from Osmocom select loop * whenever the data socket to osmo-e1d is ready for reading. */ #include <stdint.h> #include <stdbool.h> #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <osmocom/core/select.h> #include <osmocom/isdn/i460_mux.h> #include "globals.h" uint8_t readbuf[160]; FILE *record_file; int ts_fd_cb(struct osmo_fd *ofd, unsigned int what) { int rc; rc = read(ts_fd, readbuf, 160); if (rc != 160) { fprintf(stderr, "error: read from ts returned %d instead of 160\n", rc); exit(1); } if (record_file) fwrite(readbuf, 1, 160, record_file); osmo_i460_demux_in(&i460_ts, readbuf, 160); transmit_e1_ts(); return 0; }