# HG changeset patch # User Mychaela Falconia # Date 1716801027 0 # Node ID 9e7e9ba22e424cd0b178c1cf154df4cb40e26546 starting project with public header files diff -r 000000000000 -r 9e7e9ba22e42 .hgignore --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/.hgignore Mon May 27 09:10:27 2024 +0000 @@ -0,0 +1,4 @@ +syntax: regexp + +\.[oa]$ +^config\.defs$ diff -r 000000000000 -r 9e7e9ba22e42 build-inc/themwi/rtp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/build-inc/themwi/rtp Mon May 27 09:10:27 2024 +0000 @@ -0,0 +1,1 @@ +../../include \ No newline at end of file diff -r 000000000000 -r 9e7e9ba22e42 configure --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/configure Mon May 27 09:10:27 2024 +0000 @@ -0,0 +1,88 @@ +#!/bin/sh +# This configure script is custom and hand-coded; +# it is NOT a product of GNU Autoconf or any other such tools! + +set -e + +if [ ! -f configure ] +then + echo "This script needs to be run from the top of the source tree" 1>&2 + exit 1 +fi + +# defaults that can be overridden +CC=gcc +CFLAGS=-O2 +prefix=/usr/local +exec_prefix= +bindir= +includedir= +libdir= + +while [ $# != 0 ] +do + case "$1" in + --prefix=*) + prefix=`echo $1 | cut -c 10-` + ;; + --exec-prefix=*) + exec_prefix=`echo $1 | cut -c 15-` + ;; + --bindir=*) + bindir=`echo $1 | cut -c 10-` + ;; + --includedir=*) + includedir=`echo $1 | cut -c 14-` + ;; + --libdir=*) + libdir=`echo $1 | cut -c 10-` + ;; + CC=*) + CC=`echo $1 | cut -c 4-` + ;; + CFLAGS=*) + CFLAGS=`echo $1 | cut -c 8-` + ;; + *) + echo "error: non-understood option $1" 1>&2 + exit 1; + ;; + esac + shift +done + +# inheritance rules for install directories + +if [ -z "$exec_prefix" ] +then + exec_prefix="$prefix" +fi +if [ -z "$bindir" ] +then + bindir="$exec_prefix/bin" +fi +if [ -z "$includedir" ] +then + includedir="$prefix/include" +fi +if [ -z "$libdir" ] +then + libdir="$exec_prefix/lib" +fi + +# report the final configuration + +echo "C code will be compiled with:" +echo " CC=$CC" +echo " CFLAGS=$CFLAGS" +echo "Installation directories:" +echo " bindir=$bindir" +echo " includedir=$includedir" +echo " libdir=$libdir" + +# emit the Makefile include fragment +echo "CC=$CC" > config.defs +echo "CFLAGS=$CFLAGS" >> config.defs +echo "bindir=$bindir" >> config.defs +echo "includedir=$includedir" >> config.defs +echo "libdir=$libdir" >> config.defs diff -r 000000000000 -r 9e7e9ba22e42 include/Makefile --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/include/Makefile Mon May 27 09:10:27 2024 +0000 @@ -0,0 +1,13 @@ +FILES= pstn_defs.h rtp_alloc.h rtp_defs.h + +include ../config.defs + +INSTDIR=${DESTDIR}${includedir}/themwi/rtp + +all: + +install: + mkdir -p ${INSTDIR} + install -c -m 644 ${FILES} ${INSTDIR} + +clean: diff -r 000000000000 -r 9e7e9ba22e42 include/pstn_defs.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/include/pstn_defs.h Mon May 27 09:10:27 2024 +0000 @@ -0,0 +1,8 @@ +/* misc PSTN definitions */ + +#pragma once + +#define PSTN_CODEC_PCMU 0 +#define PSTN_CODEC_PCMA 8 + +#define FRAME_20MS 160 /* samples per RTP packet */ diff -r 000000000000 -r 9e7e9ba22e42 include/rtp_alloc.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/include/rtp_alloc.h Mon May 27 09:10:27 2024 +0000 @@ -0,0 +1,31 @@ +/* + * This header file defines the ad hoc control interface + * to themwi-rtp-mgr over a dedicated local socket. + */ + +#pragma once + +struct rtp_alloc_req { + uint32_t transact_ref; + uint32_t ep_type; +}; + +#define RTP_ALLOC_DO_GSM1 1 +#define RTP_ALLOC_DO_PSTN 2 +#define RTP_ALLOC_DO_GSM2 4 + +#define RTP_ALLOC_TYPE_GSM RTP_ALLOC_DO_GSM1 +#define RTP_ALLOC_TYPE_PSTN RTP_ALLOC_DO_PSTN +#define RTP_ALLOC_TYPE_GSM2PSTN (RTP_ALLOC_DO_GSM1 | RTP_ALLOC_DO_PSTN) +#define RTP_ALLOC_TYPE_GSM2GSM (RTP_ALLOC_DO_GSM1 | RTP_ALLOC_DO_GSM2) + +struct rtp_alloc_resp { + uint32_t transact_ref; + uint32_t res; + struct sockaddr_storage gsm_addr; + struct sockaddr_storage pstn_addr; /* also used for 2nd GSM */ +}; + +#define RTP_ALLOC_OK 0 +#define RTP_ALLOC_ERR_PARAM 1 +#define RTP_ALLOC_ERR_RSRC 2 diff -r 000000000000 -r 9e7e9ba22e42 include/rtp_defs.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/include/rtp_defs.h Mon May 27 09:10:27 2024 +0000 @@ -0,0 +1,19 @@ +/* + * This header file holds some definitions for RTP, as this protocol + * functions in our GSM and PSTN environment. + */ + +#pragma once + +#define RTP_PACKET_HDR_SIZE 12 +#define RTP_PACKET_SIZE_PSTN 172 +#define RTP_MAX_PAYLOAD 160 + +struct rtp_packet { + uint8_t v_p_x_cc; + uint8_t m_pt; + uint16_t seq; + uint32_t tstamp; + uint32_t ssrc; + uint8_t payload[RTP_MAX_PAYLOAD]; +};