Syntax Specification of VTQL

Up: Documentation content
Previous: Concepts
Next: libvtql

General Syntax Stuff

Parameters

You may put any parameter in "'"s. The "'" character itself can by written as "''".

Examples:

Special Parameters and Special Return Values:

frequency station frequency (in kHz), "freqtab::channel[~<P|M>finetuning]" or "none". Use "SHOW FREQTABS" and "SHOW FREQTAB ..." to get all names with the according frequency and add a finetuning (P=plus or M=minus finetuning*62.5kHz)

Examples:

  • 48250
  • europe-west::E2
  • europe-west::E2~p3
  • none
pagepage number (hexadecimal)
subpagesubpage number (hexadecimal)
time system time at reception (UNIX time, see "man 2 time")
fastlinks a comma seperated list of linked pages
station_idunique id of a station
socket_idunique id of socket
con_mode the different modes of a connection: NOBODY, EVENT, INSERT, QUERY, CONFIG. See also concepts documentation.
flags as defined in "libvtql/extern/vt.h":
  • 0x01 (PG_SUPPHEADER), C7: row 0 is not to be displayed
  • 0x02 (PG_UPDATE), C8: row 1-28 has modified (editors flag)
  • 0x04 (PG_OUTOFSEQ), C9: page out of numerical order
  • 0x08 (PG_NODISPLAY), C10: rows 1-24 is not to be displayed
  • 0x10 (PG_MAGSERIAL), C11: serial trans. (any pkt0 terminates page)
  • 0x20 (PG_ERASE), C4: clear previously stored lines
  • 0x40 (PG_NEWSFLASH), C5: box it and insert into normal video pict.
  • 0x80 (PG_SUBTITLE), C6: box it and insert into normal video pict.
pageinfo station_id.frequency.page.subpage.time.flags.fastlinks

match

A match is a simple interface to select pages within the server's database. It has quite a confused syntax, but it is belived to be well-defined. Maybe you first look at the simple examples before trying to understand the general explanation. Here is the general syntax:

[station_id_range[.frequency_range[.page_range[.subpage_range[.line_range]]]]][</regex>|<\glob_string>|<|find_string>]

Where:

Examples:
codematches
..304.1page 304, subpage 1
.italy::21~m5-italy::69~p5..-3,5- frequency 47120kHz to 855255kHz, not subpage 4
|linuxpage with word "linux"
..300-400..9-20/[0-9]+[.:][0-9]+page with time table, but not in header and footer lines
'0..300-304..7-\*Linux*best* OS *' station 0, page 300 to 304 where a line within lines 7 to 25 matches "*Linux*best* OS *"

page_output_mode

The page_output_mode sets the way, the page data should be shown. There are three different modes, but (except LIST mode) the output is always 26 lines where the 26th line is a pageinfo.
TEXTsimple, raw text with 40 characters per line as used in searches
HEXraw data as 80 hex numbers per line
LISTshow only the pageinfo

Commands

As explained in the concepts documetation, there are three subsets of commands for events, queries and configuration:

Event Subset

Query Subset

Configuration subset