<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE lire:dlf-schema PUBLIC
  "-//LogReport.ORG//DTD Lire DLF Schema Markup Language V1.0//EN"
  "http://www.logreport.org/LDSML/1.0/ldsml.dtd">
<lire:dlf-schema superservice="ftp" timestamp="time"
 xmlns:lire="http://www.logreport.org/LDSML/">

 <lire:title>DLF Schema for FTP service</lire:title>
 <lire:description>
  <para>This DLF file is adequate to represent most common
   informations about ftp transfers. It has the equivalent
   information of the xferlog format supported by many ftp servers.
  </para>
  <para>Each DLF record in the FTP schema reprensents one FTP
   transfer, this schema isn't adequate to represents complete FTP
   session.
  </para>
 </lire:description>

 <!-- terminology for fields is taken from xferlog format -->

 <lire:field name="time"                type="timestamp">
  <lire:description>
   <para>The time at which the transfer started.</para>
  </lire:description>
 </lire:field>

 <lire:field name="transfer_time"       type="duration">
  <lire:description>
   <para>The time taken by the transfer.</para>
  </lire:description>
 </lire:field>

 <lire:field name="remote_host"	        type="hostname">
  <lire:description>
   <para>The hostname of the client that initiated the transfer.</para>
  </lire:description>
 </lire:field>

 <lire:field name="file_size"           type="bytes">
  <lire:description>
   <para>The number bytes transferred.</para>
  </lire:description>
 </lire:field>

 <lire:field name="filename"            type="filename">
  <lire:description>
   <para>The filename that was transferred.</para>
  </lire:description>
 </lire:field>

 <lire:field name="transfer_type"       type="string">
  <lire:description>
   <para>The method used for the transfer. This will
   <literal>ascii</literal> when ASCII conversion is used during the
    transfer and <literal>binary</literal> otherwise.
   </para>
  </lire:description>
 </lire:field>

 <lire:field name="special_action_flag" type="string" default="-">
  <lire:description>
   <para>A code used to represent special action accomplished by the
    server during the transfer. Valid codes besides the default are
    <literal>compress</literal>, <literal>uncompress</literal> and
    <literal>tar</literal>.
   </para>
  </lire:description>
 </lire:field>

 <lire:field name="direction"           type="string">
  <lire:description>
   <para>This should be <literal>upload</literal> for incoming transfer
    and <literal>dowload</literal> for outgoing transfer.
   </para>
  </lire:description>
 </lire:field>

 <lire:field name="access_mode"         type="string">
  <lire:description>
   <para>The type of authentication used. Valid values are
    <literal>anonymous</literal> when the use used anonymous login;
    <literal>guest</literal> for guest login and
    <literal>authenticated</literal> for when the user was
    authenticated through valid credentials.
   </para>
  </lire:description>
 </lire:field>

 <lire:field name="username"            type="string">
  <lire:description>
   <para>The name of the authenticated user. In the case of guest or
    anonymous logins, this should be the email address or other
    identifier given by the user on logon.
   </para>
  </lire:description>
 </lire:field>

 <lire:field name="service_name"        type="string">
  <lire:description>
   <para>That's the name through which the service was invoked. This
    will usually be FTP.</para>
  </lire:description>
 </lire:field>

 <lire:field name="auth_method"         type="string" default="-">
  <lire:description>
   <para>Additional authentication that was done on the connection.
    The only defined value besides the default is
    <literal>ident</literal> for the case when the connection was
    authenticated through RFC1931 authentication.
   </para>
  </lire:description>
 </lire:field>

 <lire:field name="auth_user_id"        type="string">
  <lire:description>
   <para>The user identification related to the
    <structfield>auth_method</structfield> mode of authentication.
   </para>
  </lire:description>
 </lire:field>

 <lire:field name="completion_status" type="string" default="-">
  <lire:description>
   <para>This will be <literal>complete</literal> when the transfer
    completed successfully and <literal>incomplete</literal> when the
    transfer was aborted before it completes.
   </para>
  </lire:description>
 </lire:field>
</lire:dlf-schema>
