FAXSEND(${MANNUM1_8})

NAME
faxsend - HylaFAX facsimile transmit program

SYNOPSIS
${LIBEXEC}/faxsend [ -l ] [ -p ] [ -c config ] -m device-ID qfile [qfile [qfile [...]]]

DESCRIPTION
faxsend is the program that implements the facsimile transmission protocol for the HylaFAX system. faxsend is invoked by the faxq scheduler process for each facsimile transmit attempt. faxsend assumes that its current working directory is the top of the spooling hierarchy, that a suitable modem device has been allocated for its use, and that all documents to be sent are already converted to TIFF/F (TIFF Class F) at the appropriate resolution and with an appropriate data encoding. In normal use faxsend will inherit a lockfile for the modem from the faxq process. The format of the job description file specified on the command line is described in sendq(${MANNUM4_5}).

faxsend initializes the modem before attempting to transmit the facsimile using the information in the appropriate modem configuration file. If the modem does not respond to this initialization, faxsend will repeatedly try to initialize the modem. This behaviour is required for send-only environments in which a faxgetty(${MANNUM1_8}) process is not run (and the modem would be known to be in a properly initialized state). faxsend catches SIGINT and SIGTERM and cleans up any resources it controls; this is the mechanism used by faxq to abort a job while it is in progress.

Multiple fax jobs of documents with varying formatting may be sent in one fax call by ``batching'' them by supplying faxsend with multiple qfile entries.

Many aspects of faxsend operation are controlled through a configuration file. The configuration file is located in the spooler hierarchy in the etc subdirectory and is named config.device-ID; consult hylafax-config(${MANNUM4_5}) for detailed information on the contents of configuration files.

OPTIONS
The following options are recognized:

-c config
    Treat config as a configuration parameter specification that is interpreted after reading the per-device configuration file. For example, ``-c sessiontracing:0x4f'' would set the SessionTracing configuration parameter to ``0x4f'', overriding any setting in the configuration file.

-m devID
    The device to use in processing the job. Note that this is a device identifier and not the pathname of the tty special file. A device identifier is formed from a device filename by removing any leading ``/dev/'' and converting any ``/'' characters to ``_'' characters.

-l  Do the UUCP lockfile protocol in faxsend. By default faxsend assumes that it is invoked with the device already locked and that it does not need to manage the lockfile.

-p  Do not change the process priority when transmitting. Normally faxsend will raise its priority to reduce i/o latency. This option is useful for debugging.

NOTES
faxsend returns the new job status to faxq through the returned value in the associated qfile: send_retry, retry job; send_failed, job finished without success, send_done, job completed successfully, send_reformat, job should be retried after documents are reformatted.

FILES
${SPOOL}/etc/config.devID    device-specific configuration file

Consult hylafax-server(${MANNUM4_5}) for a complete discussion of the structure and content of the spooling area.

SEE ALSO
faxq(${MANNUM1_8}), hylafax-server(${MANNUM4_5}), hylafax-config(${MANNUM4_5})