Rivendellaudio/docs/rivwebcapi/rd_savelog.xml
Fred Gleason 5179ba9563 2018-09-10 Fred Gleason <fredg@paravelsystems.com>
* Quadrupled the length of strings in 'struct rd_cart' in the
	'rivwebcapi' to accomodate UTF-8 characters.
2018-09-10 12:21:25 -04:00

300 lines
7.8 KiB
XML

<?xml version="1.0" encoding="ISO-8859-1"?>
<refentry id="stdin" xmlns="http://docbook.org/ns/docbook" version="5.0">
<!--
Header
-->
<refmeta>
<refentrytitle>RD_SaveLog</refentrytitle>
<manvolnum>7</manvolnum>
<refmiscinfo class='source'>February 2017</refmiscinfo>
<refmiscinfo class='manual'>Rivendell C Library Manual</refmiscinfo>
</refmeta>
<refnamediv>
<refname>rd_savelog</refname>
<refpurpose>Rivendell Save Log C Library Function</refpurpose>
</refnamediv>
<info>
<author>
<personname>
<firstname>Todd</firstname>
<surname>Baker</surname>
<email>bakert@rfa.org</email>
</personname>
<contrib>Rivendell C Library Author</contrib>
</author>
</info>
<!--
Body
-->
<refsynopsisdiv id='synopsis'>
<funcsynopsis>
<funcsynopsisinfo>#include &lt;rivwebcapi/rd_savelog.h&gt;</funcsynopsisinfo>
<funcprototype>
<funcdef>int <function>RD_SaveLog</function></funcdef>
<paramdef>struct save_loghdr_values <parameter>*hdrvals</parameter></paramdef>
<paramdef>struct save_logline_values <parameter>*linevals</parameter></paramdef>
<paramdef>unsigned <parameter>linevals_quan</parameter></paramdef>
<paramdef>const char <parameter>hostname[]</parameter></paramdef>
<paramdef>const char <parameter>username[]</parameter></paramdef>
<paramdef>const char <parameter>passwd[]</parameter></paramdef>
<paramdef>const char <parameter>ticket[]</parameter></paramdef>
<paramdef>const char <parameter>log_name[]</parameter></paramdef>
<paramdef>const char <parameter>user_agent[]</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<refsect1 id='description'><title>Description</title>
<para>
<command>RD_SaveLog</command> is the function to use
to save log information (both headers and lines) to an existing Rivendell
Database.
</para>
<para>
This function saves the specified log to the Rivendell database on
hostname.
</para>
<table xml:id="ex.savelog" frame="all">
<title>RD_SaveLog function call fields</title>
<tgroup cols="4" align="left" colsep="1" rowsep="1">
<colspec colname="FIELD NAME" />
<colspec colname="FIELD TYPE" />
<colspec colname="MEANING" />
<colspec colname="REMARKS" />
<thead>
<row>
<entry>
FIELD NAME
</entry>
<entry>
FIELD TYPE
</entry>
<entry>
MEANING
</entry>
<entry>
REMARKS
</entry>
</row>
</thead>
<tbody>
<row>
<entry>
hdrvals
</entry>
<entry>
Pointer to save_loghdr_values structure
</entry>
<entry>
Log header data
</entry>
<entry>
Mandatory
</entry>
</row>
<row>
<entry>
linevals
</entry>
<entry>
Pointer to save_logline_values structure
</entry>
<entry>
Log lines data
</entry>
<entry>
Mandatory
</entry>
</row>
<row>
<entry>
linevals_quan
</entry>
<entry>
Unsigned Integer
</entry>
<entry>
Number of lines in the linevals argument
</entry>
<entry>
Mandatory
</entry>
</row>
<row>
<entry>
hostname
</entry>
<entry>
Character Array
</entry>
<entry>
Name Of Rivendell DB Host
</entry>
<entry>
Mandatory
</entry>
</row>
<row>
<entry>
username
</entry>
<entry>
Character Array
</entry>
<entry>
Rivendell User Name
</entry>
<entry>
Mandatory When NO Ticket Provided
</entry>
</row>
<row>
<entry>
passwd
</entry>
<entry>
Character Array
</entry>
<entry>
Rivendell User Password
</entry>
<entry>
Mandatory When NO Ticket Provided
</entry>
</row>
<row>
<entry>
ticket
</entry>
<entry>
Character Array
</entry>
<entry>
Rivendell Authentification Ticket
</entry>
<entry>
Mandatory When NO User/Password Pair Provided.
</entry>
</row>
<row>
<entry>
log_name
</entry>
<entry>
Character Array
</entry>
<entry>
Name to assign to new log
</entry>
<entry>
Mandatory
</entry>
</row>
<row>
<entry>
user_agent
</entry>
<entry>
Character Array
</entry>
<entry>
User Agent Value put into HTTP request
</entry>
<entry>
Optional (default is Rivendell-C-API/x.x.x)
</entry>
</row>
</tbody>
</tgroup>
</table>
<para>
Header data for the log is sent in a 'save_loghdr_values' struct, as
follows:
</para>
<programlisting>
struct save_loghdr_values {
char loghdr_service[11];
char loghdr_description[65];
int loghdr_autorefresh;
struct tm loghdr_purge_date;
struct tm loghdr_start_date;
struct tm loghdr_end_date;
};
</programlisting>
<para>
Each line in the log is sent in a 'save_logline_values' struct, as
follows:
</para>
<programlisting>
struct save_logline_values {
int logline_id;
int logline_type;
int logline_source;
unsigned logline_cart_number;
int logline_starttime;
int logline_gracetime;
int logline_time_type;
int logline_transition_type;
int logline_start_point_log;
int logline_end_point_log;
int logline_segue_start_point_log;
int logline_segue_end_point_log;
int logline_fadeup_point_log;
int logline_fadedown_point_log;
int logline_duckup_gain;
int logline_duckdown_gain;
char logline_marker_comment[1021];
char logline_marker_label[257];
char logline_origin_user[1021];
struct tm logline_origin_datetime;
int logline_event_length;
char logline_link_event_name[257];
struct tm logline_link_starttime;
int logline_link_length;
int logline_link_start_slop;
int logline_link_end_slop;
int logline_link_id;
int logline_link_embedded;
struct tm logline_ext_starttime;
int logline_ext_length;
char logline_ext_cart_name[129];
char logline_ext_data[129];
char logline_ext_event_id[129];
char logline_ext_annc_type[33];
};
</programlisting>
</refsect1>
<refsect2 id='returns'><title>RETURN VALUE</title>
<para>
On success, zero is returned.
</para>
<para>
If a server error occurs a -1 is returned.
If a client error occurs a specific error number is returned.
</para>
</refsect2>
<refsect3 id='errors'><title>ERRORS</title>
<para>
400 Invalid/Missing Parameter.
</para>
<para>
403 User Authentification Error.
</para>
<para>
404 User Permission Error.
</para>
<para>
404 Service or Log Does Not Exist.
</para>
<para>
500 Server error.
</para>
<para>
nnn Unknown Error Occurred.
</para>
</refsect3>
</refentry>