FAXSEND(8C)
π FAXSEND β the HylaFAX facsimile transmit program, bestie edition π
okay so this is faxsend(8C), aka the little icon that actually pushes your fax out into the world. sit down, grab a strawberry π, and let's get into it.
β¨ NAME β¨
faxsend β the HylaFAX facsimile transmit program. that's it, that's the name, she's literally the fax-sending girlie π
π SYNOPSIS π
/usr/bin/faxsend [ -B ] [ -l ] [ -p ] [ -c config ] -m device-ID qfile
[qfile [qfile [...]]]
π¦ DESCRIPTION π¦
okay so faxsend is the program that implements the facsimile transmission protocol for the whole HylaFAX system. she's not out here doing vibes, she's doing protocol. π₯
faxsend gets invoked by the faxq scheduler process β once for every single facsimile transmit attempt, no skips, no shortcuts. and when she wakes up she assumes a whole list of things about her situation, so listen up:
- her current working directory is the top of the spooling hierarchy
- a suitable modem device has already been allocated for her use
- all the documents she's about to send are already converted to TIFF/F (TIFF Class F) at the appropriate resolution and with an appropriate data encoding
like, she is not doing the conversion for you, bestie. that's already done. do not come to her with a raw PDF and expect magic. π
in normal use faxsend will inherit a lockfile for the modem from the faxq process. and the format of the job description file you pass on the command line? that's all described in sendq(5F), go read it, iykyk.
now here's the part where she's lowkey relentless: faxsend initializes the modem before even attempting to transmit the facsimile, using the info in the appropriate modem configuration file. and if the modem does not respond to that initialization, she will repeatedly try to initialize the modem. again and again. iconic persistence. this behaviour is required for send-only environments where a faxgetty(8C) process isn't running (and where, like, the modem would otherwise be known to be in a properly initialized state). so it's not her being dramatic, it's a whole requirement. periodt.
also she catches SIGINT and SIGTERM and cleans up any resources she controls π«Ά β that's literally the mechanism faxq uses to abort a job while it's in progress. so when the scheduler says stop, she stops, but she tidies up first because she's a considerate queen.
and the best part?? multiple fax jobs of documents with varying formatting may be sent in one fax call by "batching" them β you just supply faxsend with multiple qfile entries and she handles the whole lineup. efficiency ate. π
many aspects of faxsend operation are controlled through a configuration file. that file lives in the spooler hierarchy in the etc subdirectory and is named config.device-ID β and you should consult hylafax-config(5F) for detailed info on what goes in configuration files. don't guess, go look. π
π OPTIONS π
the following options are recognized (and yes, all of them matter):
-Bβ do not increment the various "dials" counters if a busy signal is encountered. like, the busy signal happened, we don't need to count it against them, alright? π-cconfig β treat config as a configuration parameter specification that is interpreted after reading the per-device configuration file. for example,`-c sessiontracing:0x4f`would set theSessionTracingconfiguration parameter to`0x4f`, overriding any setting in the configuration file. so it's the override girlie. she comes last and she wins. β¨-mdevID β 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. so like, don't hand her a path, hand her the identifier. π-lβ do the UUCP lockfile protocol infaxsend. by defaultfaxsendassumes she was invoked with the device already locked and that she does not need to manage the lockfile. so only use this if you actually want her handling the lock herself. π-pβ do not change the process priority when transmitting. normallyfaxsendwill raise her priority to reduce i/o latency β this option is useful for debugging. so if you're in there poking around, this is your girl. π§
β NOTES β
faxsend returns the new job status to faxq through the returned value in the associated qfile. here's the whole menu, no substitutions:
send_retryβ retry jobsend_failedβ job finished without successsend_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
and consult hylafax-server(5F) for a complete discussion of the structure and content of the spooling area. seriously, it's all in there. π
π SEE ALSO π
faxq(8C), hylafax-server(5F), hylafax-config(5F)
and that's the whole page, bestie. this version of the faxsend manual page is dated October 3, 1995 β yes, she's been slaying since the 90s, no cap πβ¨ππ¦πΈπ π«Ά
π¦ where this page comes from
- fedora 43: hylafax+ 7.0.11-4.fc43 Β· libtiff AND LicenseRef-Callaway-BSD-with-advertising
- fedora 43: hylafax+ 7.0.11-4.fc43 Β· libtiff AND LicenseRef-Callaway-BSD-with-advertising
- fedora 44: hylafax+ 7.0.11-5.fc44 Β· libtiff AND LicenseRef-Callaway-BSD-with-advertising
- fedora 44: hylafax+ 7.0.11-5.fc44 Β· libtiff AND LicenseRef-Callaway-BSD-with-advertising
- Copyright (c) 1990-1996 Sam Leffler
- Copyright (c) 1991-1996 Silicon Graphics, Inc
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms