---
name: "faxsend"
section: "8"
platform: "linux"
package: "hylafax-server"
version: "3:6.0.7-11.1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/faxsend/8"
---

# faxsend(8)

HylaFAX facsimile transmit program

## NAME

faxsend - *HylaFAX* facsimile transmit program

## SYNOPSIS

**/usr/sbin/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*(5)](/sendq/5.md).

*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*(8)](/faxgetty/8.md) 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*(5)](/hylafax-config/5.md) 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

/var/spool/hylafax/etc/config.devID	device-specific configuration file

Consult [*hylafax-server*(5)](/hylafax-server/5.md) for a complete discussion of the structure and content of the spooling area.

## SEE ALSO

[*faxq*(8)](/faxq/8.md), [*hylafax-server*(5)](/hylafax-server/5.md), [*hylafax-config*(5)](/hylafax-config/5.md)
