/usr/include/spandsp/rfc2198_sim.h is in libspandsp-dev 0.0.6~pre20-3.1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 | /*
* SpanDSP - a series of DSP components for telephony
*
* rfc2198_sim.h - Simulate the behaviour of RFC2198 (or UDPTL) redundancy.
*
* Written by Steve Underwood <steveu@coppice.org>
*
* Copyright (C) 2007 Steve Underwood
*
* All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License version 2.1,
* as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
/*! \file */
/*! \page rfc2198_model_page RFC2198 simulation
\section rfc2198_model_page_sec_1 What does it do?
*/
#if !defined(_RFC2198_SIM_H_)
#define _RFC2198_SIM_H_
/*! The definition of an element in the packet queue */
typedef struct rfc2198_sim_queue_element_s
{
struct rfc2198_sim_queue_element_s *next;
struct rfc2198_sim_queue_element_s *prev;
int seq_no;
double departure_time;
double arrival_time;
int len;
uint8_t pkt[];
} rfc2198_sim_queue_element_t;
/*! The model definition for a complete end-to-end path */
typedef struct
{
int redundancy_depth;
int next_seq_no;
g1050_state_t *g1050;
rfc2198_sim_queue_element_t *first;
rfc2198_sim_queue_element_t *last;
uint8_t tx_pkt[32][1024];
int tx_pkt_len[32];
int tx_pkt_seq_no[32];
int next_pkt;
uint8_t rx_pkt[32][1024];
int rx_pkt_len[32];
int rx_pkt_seq_no[32];
int rx_queued_pkts;
} rfc2198_sim_state_t;
#ifdef __cplusplus
extern "C"
{
#endif
SPAN_DECLARE(rfc2198_sim_state_t *) rfc2198_sim_init(int model,
int speed_pattern,
int packet_size,
int packet_rate,
int redundancy_depth);
SPAN_DECLARE(int) rfc2198_sim_put(rfc2198_sim_state_t *s,
const uint8_t buf[],
int len,
int seq_no,
double departure_time);
SPAN_DECLARE(int) rfc2198_sim_get(rfc2198_sim_state_t *s,
uint8_t buf[],
int max_len,
double current_time,
int *seq_no,
double *departure_time,
double *arrival_time);
#ifdef __cplusplus
}
#endif
#endif
/*- End of file ------------------------------------------------------------*/
|