<!--
This file is automatically generated.

This DTD describes the input commands to the GTH API. A description
of the GTH API is available for download at

https://www.corelatus.com/gth/api/

along with the latest version of this file.

-->

<!ELEMENT gth_in ((bye|custom|delete|disable|enable|install|map|new|nop|query|reset|set|takeover|unmap|update|zero))*>

<!ELEMENT bye EMPTY>

<!ELEMENT custom (attribute)+>
<!ATTLIST custom
name	(inventory|board|http_server|os) #REQUIRED
>

<!ELEMENT attribute EMPTY>
<!ATTLIST attribute
name	CDATA	#REQUIRED
value	CDATA	#REQUIRED
>

<!ELEMENT delete EMPTY>
<!ATTLIST delete
id	CDATA	#REQUIRED
>

<!ELEMENT disable EMPTY>
<!ATTLIST disable
name	CDATA	#REQUIRED
>

<!ELEMENT enable (attribute)*>
<!ATTLIST enable
name	CDATA	#REQUIRED
>

<!ELEMENT install EMPTY>
<!ATTLIST install
name	CDATA	#REQUIRED
>

<!ELEMENT map (sdh_source)>
<!ATTLIST map
target_type	(pcm_source) #REQUIRED
>

<!ELEMENT sdh_source EMPTY>
<!ATTLIST sdh_source
name	CDATA	#REQUIRED
>

<!ELEMENT new ((wide_recorder)|(v110_monitor)|(tone_detector)|(ss5_registersig_monitor)|(ss5_linesig_monitor)|(recorder)|(raw_monitor)|(player)|(mtp2_monitor)|(level_detector)|(lapd_monitor)|(lapd_layer)|(fr_monitor)|(fr_layer)|(connection)|(clip)|(cas_r2_mfc_detector)|(cas_r2_linesig_monitor)|(atm_aal5_monitor)|(atm_aal2_monitor)|(atm_aal0_layer)|(atm_aal0_monitor))>

<!ELEMENT wide_recorder (udp_sink)>
<!ATTLIST wide_recorder
span	CDATA	#REQUIRED
tag	CDATA	#REQUIRED
>

<!ELEMENT udp_sink EMPTY>
<!ATTLIST udp_sink
ip_addr	CDATA	#REQUIRED
ip_port	CDATA	#REQUIRED
>

<!ELEMENT v110_monitor (pcm_source)>
<!ATTLIST v110_monitor
id	CDATA	#IMPLIED
ip_addr	CDATA	"_"
ip_port	CDATA	"0"
tag	CDATA	"0"
rate	(4800|9600) #REQUIRED
ra0	(yes|no) "no"
>

<!ELEMENT pcm_source EMPTY>
<!ATTLIST pcm_source
span	CDATA	#IMPLIED
timeslot	CDATA	#IMPLIED
first_bit	CDATA	"0"
bandwidth	CDATA	"64"
>

<!ELEMENT tone_detector (pcm_source)>
<!ATTLIST tone_detector
type	(DTMF|custom) #IMPLIED
frequency	CDATA	#IMPLIED
length	CDATA	#IMPLIED
>

<!ELEMENT ss5_registersig_monitor (pcm_source)>
<!ATTLIST ss5_registersig_monitor
tag	CDATA	"0"
ip_addr	CDATA	#REQUIRED
ip_port	CDATA	#REQUIRED
>

<!ELEMENT ss5_linesig_monitor (pcm_source)>
<!ATTLIST ss5_linesig_monitor
tag	CDATA	"0"
ip_addr	CDATA	#REQUIRED
ip_port	CDATA	#REQUIRED
>

<!ELEMENT recorder (pcm_source,(tcp_sink|udp_sink))>

<!ELEMENT tcp_sink EMPTY>
<!ATTLIST tcp_sink
ip_addr	CDATA	#REQUIRED
ip_port	CDATA	#REQUIRED
>

<!ELEMENT raw_monitor (pcm_source)>
<!ATTLIST raw_monitor
id	CDATA	#IMPLIED
ip_addr	CDATA	"_"
ip_port	CDATA	"0"
tag	CDATA	"0"
format	(plain|unpacked_4x16) #IMPLIED
>

<!ELEMENT player (((clip)+|tcp_source),pcm_sink)>
<!ATTLIST player
loop	CDATA	"false"
>

<!ELEMENT clip EMPTY>
<!ATTLIST clip
id	CDATA	#REQUIRED
>

<!ELEMENT tcp_source EMPTY>
<!ATTLIST tcp_source
ip_addr	CDATA	#REQUIRED
ip_port	CDATA	#REQUIRED
>

<!ELEMENT pcm_sink EMPTY>
<!ATTLIST pcm_sink
span	CDATA	#REQUIRED
timeslot	CDATA	#REQUIRED
bandwidth	CDATA	"64"
>

<!ELEMENT mtp2_monitor (pcm_source)*>
<!ATTLIST mtp2_monitor
id	CDATA	#IMPLIED
fisu	(yes|no) "yes"
dup_fisu	(yes|no) "no"
lssu	(yes|no) "yes"
dup_lssu	(yes|no) "no"
msu	(yes|no) "yes"
esu	(yes|no) "no"
mark_likely_retrans	(yes|no) "no"
load_limit	CDATA	"50"
buffer_limit	CDATA	"256000"
average_period	CDATA	"30"
tag	CDATA	"0"
esnf	(yes|no) "no"
ip_addr	CDATA	"_"
ip_port	CDATA	"0"
>

<!ELEMENT level_detector (pcm_source)>
<!ATTLIST level_detector
threshold	CDATA	"-10"
type	(both|low_to_high|high_to_low) #REQUIRED
period	CDATA	"100"
>

<!ELEMENT lapd_monitor (pcm_source)*>
<!ATTLIST lapd_monitor
id	CDATA	#IMPLIED
su	(yes|no) "yes"
esu	(yes|no) "no"
load_limit	CDATA	"50"
buffer_limit	CDATA	"256000"
average_period	CDATA	"30"
tag	CDATA	"0"
timeout	CDATA	"15"
detect_abort	(yes|no) "yes"
ip_addr	CDATA	"_"
ip_port	CDATA	"0"
>

<!ELEMENT lapd_layer (pcm_source,pcm_sink)>
<!ATTLIST lapd_layer
side	CDATA	"network"
sapi	CDATA	"0"
tei	CDATA	"0"
tag	CDATA	#REQUIRED
ip_addr	CDATA	#REQUIRED
ip_port	CDATA	#REQUIRED
>

<!ELEMENT fr_monitor (pcm_source)+>
<!ATTLIST fr_monitor
su	(yes|no) "yes"
esu	(yes|no) "no"
load_limit	CDATA	"50"
buffer_limit	CDATA	"256000"
average_period	CDATA	"30"
tag	CDATA	"0"
timeout	CDATA	"0"
ip_addr	CDATA	#REQUIRED
ip_port	CDATA	#REQUIRED
>

<!ELEMENT fr_layer ((pcm_source)+,(pcm_sink)+)>
<!ATTLIST fr_layer
ip_addr	CDATA	#REQUIRED
ip_port	CDATA	#REQUIRED
>

<!ELEMENT connection (pcm_source,pcm_sink)>

<!ELEMENT cas_r2_mfc_detector (pcm_source)>
<!ATTLIST cas_r2_mfc_detector
tag	CDATA	"0"
direction	(forward|backward) #REQUIRED
ip_addr	CDATA	#REQUIRED
ip_port	CDATA	#REQUIRED
>

<!ELEMENT cas_r2_linesig_monitor (pcm_source)>
<!ATTLIST cas_r2_linesig_monitor
tag	CDATA	"0"
ip_addr	CDATA	#REQUIRED
ip_port	CDATA	#REQUIRED
>

<!ELEMENT atm_aal5_monitor ((pcm_source)+|sdh_source)>
<!ATTLIST atm_aal5_monitor
vpi	CDATA	#REQUIRED
vci	CDATA	#REQUIRED
sdu	(yes|no) "yes"
corrupt_sdu	(yes|no) "no"
scrambling	(yes|no) "yes"
link_load_alarm	(yes|no) "no"
load_limit	CDATA	"50"
buffer_limit	CDATA	"256000"
average_period	CDATA	"30"
timeout	CDATA	"0"
tag	CDATA	"0"
ip_addr	CDATA	#REQUIRED
ip_port	CDATA	#REQUIRED
>

<!ELEMENT atm_aal2_monitor ((pcm_source)+|sdh_source)>
<!ATTLIST atm_aal2_monitor
vpi	CDATA	#REQUIRED
vci	CDATA	#REQUIRED
sdu	(yes|no) "yes"
corrupt_sdu	(yes|no) "no"
scrambling	(yes|no) "yes"
link_load_alarm	(yes|no) "no"
load_limit	CDATA	"50"
buffer_limit	CDATA	"256000"
average_period	CDATA	"30"
tag	CDATA	"0"
ip_addr	CDATA	#REQUIRED
ip_port	CDATA	#REQUIRED
>

<!ELEMENT atm_aal0_layer ((pcm_source)+,(pcm_sink)+)>
<!ATTLIST atm_aal0_layer
ip_addr	CDATA	#REQUIRED
ip_port	CDATA	#REQUIRED
scrambling	(yes|no) "yes"
>

<!ELEMENT atm_aal0_monitor ((pcm_source)+|sdh_source)>
<!ATTLIST atm_aal0_monitor
cell	(yes|no) "yes"
oam_cell	(yes|no) "no"
corrupt_cell	(yes|no) "no"
idle_cell	(yes|no) "no"
scrambling	(yes|no) "yes"
header_only	(yes|no) "no"
load_limit	CDATA	"50"
buffer_limit	CDATA	"256000"
average_period	CDATA	"30"
tag	CDATA	"0"
ip_addr	CDATA	#REQUIRED
ip_port	CDATA	#REQUIRED
>

<!ELEMENT nop EMPTY>

<!ELEMENT query ((job|resource))*>
<!ATTLIST query
verbose	CDATA	"false"
>

<!ELEMENT job EMPTY>
<!ATTLIST job
id	CDATA	#REQUIRED
>

<!ELEMENT resource EMPTY>
<!ATTLIST resource
name	CDATA	#REQUIRED
>

<!ELEMENT reset (resource)>

<!ELEMENT set (attribute)+>
<!ATTLIST set
name	CDATA	#REQUIRED
>

<!ELEMENT takeover (job)+>

<!ELEMENT unmap EMPTY>
<!ATTLIST unmap
name	CDATA	#REQUIRED
>

<!ELEMENT update (controller|mtp2_monitor|lapd_monitor)>

<!ELEMENT controller EMPTY>
<!ATTLIST controller
timeout	CDATA	#IMPLIED
backups	CDATA	#IMPLIED
broadcast_events	(yes|no) #IMPLIED
>

<!ELEMENT zero (resource|job)>

