SENDQ(5F)
๐ SENDQ(5F) โ the sendq/q* files, aka your outbound job tea ๐
okay bestie, sit down, grab a boba, because we're about to get into sendq/q* โ the HylaFAX outbound job description files. this is manual page SENDQ(5F), and it's a long one, so buckle up. ๐
โจ NAME โจ
sendq/q* โ HylaFAX outbound job description
๐ธ DESCRIPTION ๐ธ
so. files chillin' in the sendq directory are literally the receipts for transmission job requests. hfaxd(8C) creates them when it's submitting a job on behalf of sendfax(1) or sendpage(1). and plot twist โ job description files ALSO live in the doneq directory, because faxq(8C) moves them over there once a job is done done. ๐
job description files are ASCII files with lines shaped like this:
tag: value
where a tag is one of the identifiers we're about to list below, and a value is either a string or a number. values start at the first non-blank character after the ":" and just keep going until the end of the line. if a line ends with a backslash character "\", it's continued onto the next line (yes, like a text message you weren't finished sending ๐). numeric values are decimal integers โ EXCEPT for chophreshold, which is a floating point value. she's special like that.
here's the full rundown of possible tags and the type of value each one needs:
chopthreshold(float) โ page chopping threshold (inches)commid(string) โ communication identifier for last callcompany(string) โ receiver's companyconntime(integer) โ total connection time for all sessionsclient(string) โ host that submitted the jobcover(string) โ continuation coverpage filedata(string) โ unprocessed document of indeterminate type!data(string) โ processed document of indeterminate typedataformat(string) โ data format used to transmit a facsimiledesiredbr(integer) โ desired maximum transmit speeddesireddf(integer) โ desired page data formatdesiredec(integer) โ desired use of Error Correction Mode (ECM)desiredst(integer) โ desired minimum scanline timedesiredtl(integer) โ whether or not to use tagline parameterdoneop(string) โ operation to perform when job is reapedduration(integer) โ total duration time for all sessionserrorcode(string) โ job status error codeexternal(string) โ external form of dialstringfax(string) โ document ready for transmissionfaxnumber(string) โ origin number to use sendingfaxname(string) โ origin name to use sendinggroupid(integer) โ HylaFAX job group identifierignoremodembusy(integer) โ whether or not to ignore a modem busy statejobid(integer) โ HylaFAX job identifierjobtag(string) โ user-specified job identifierjobtype(string) โ job type identification stringkilltime(integer) โ time to give up trying to send joblocation(string) โ receiver's locationmailaddr(string) โ email address of sendermaxdials(integer) โ max number of times to dialmaxtries(integer) โ max number of attempts to send jobminbr(integer) โ minimum required transmit speedmodem(string) โ outgoing modem to usendials(integer) โ number of consecutive failed attempts to place callnocountcover(integer) โ don't include these pages in countsnotify(string) โ email notification specificationnpages(integer) โ number of pages transmittedntries(integer) โ number of attempts to send current pagenumber(string) โ dialstring to use in placing callowner(string) โ user that owns the jobpage(string) โ PIN in a page operationpagechop(string) โ whitespace truncation handlingpagehandling(string) โ page analysis informationpagelength(integer) โ facsimile page length (millimeters)pagewidth(integer) โ facsimile page width (millimeters)passwd(string) โ info to send in HDLC PWD framepcl(string) โ unprocessed PCL document!pcl(string) โ processed PCL documentpoll(string) โ polling requestpostscript(string) โ unprocessed POSTSCRIPT document!postscript(string) โ processed POSTSCRIPT documentpriority(integer) โ user-specified scheduling priorityprobeonly(integer) โ if non-zero this identifies the probe typereceiver(string) โ receiver's identityresolution(integer) โ vertical resolution of facsimileretrytime(integer) โ time to use between job retriesreturned(integer) โ indicates return status value for the jobschedpri(integer) โ current scheduling prioritysender(string) โ identity of senderserverdocover(integer) โ whether or not to have the server create the cover pagesignalrate(string) โ signalling rate at which a facsimile was sentskippages(integer) โ skip this number of pages in the first documentskippedpages(integer) โ increment page counts by this numberstate(integer) โ job scheduling statestatus(string) โ job statussubaddr(string) โ info to send in HDLC SUB frametagline(string) โ tagline format stringtiff(string) โ unprocessed TIFF/F document!tiff(string) โ processed TIFF/F documenttimeofday(string) โ time of day restrictionstimezone(string) โ time zone to use for tagline formattingtotdials(integer) โ total number of phone callstotpages(integer) โ total pages to transmittottries(integer) โ total number of attempts to send jobtsi(string) โ TSI to transmit when sendingtts(integer) โ time to send jobuseccover(integer) โ whether or not to use a continuation cover pageusexvres(integer) โ whether or not to use highest vertical resolution
๐ฆ PARAMETERS ๐ฆ
heads up bestie: all files must be owned by the fax user. and pathnames for document files have to be relative to the top of the HylaFAX spooling directory โ and they must not include "..". no sneaking out of the sandbox, okay? ๐ค
chopthresholdโ the minimum trailing whitespace (in inches) that has to show up on a page before it even gets considered for "page chopping". if you don't specify this parameter, then the value from thePageChopThresholdconfiguration parameter gets used instead โ peephylafax-config(5F)for that one.commidโ the communication identifier for the last outbound call placed for this job. this string looks like"XXXXXXXX", whereXXXXXXXXis a decimal sequence number sitting somewhere in the range1-99999999.clientโ the fully qualified hostname of the machine the job was submitted from. and if the hostname is unknown at submission time? then you get the host address in Internet standard"."(dot) notation instead. we work with what we have. ๐companyโ the receiver's company name, exactly as specified with the-xoption tosendfax(1). ngl this value only gets used when creating continuation cover pages.conntimeโ the total connection time, in seconds, for all of the sessions for this job. every last one.coverโ the pathname of a continuation cover page to send. the file must be TIFF/F โ meaning it must already be prepared for transmission, no take-backs. this document gets transmitted before any other documents listed in the file. seeContCoverPageandContCoverCmdinhylafax-config(5F).dataโ the pathname of a document to send. and once a document has been processed, it gets marked as!dataso that later retries don't go reprocessing the poor thing all over again. once bitten etc etc. โจdataformatโ the format used to transmit facsimile data. this item is recorded byfaxsend(8C)so thatnotify(8C)can hand it back to you in a notification message. it's giving teamwork.desiredbrโ the desired signalling rate for page data transmissions. the whole menu, no cap:0โ 2400 bps1โ 4800 bps2โ 7200 bps3โ 9600 bps4โ 12000 bps5โ 14400 bps6โ 16800 bps7โ 19200 bps8โ 21600 bps9โ 24000 bps10โ 26400 bps11โ 28800 bps12โ 31200 bps13โ 33600 bps (default) ๐
desireddfโ the desired data format for page data transmissions:0for 1-D MH,1for 2-D MR,3for 2-D MR with uncompressed data, and4for 2-D MMR (default). (and yeah, we noticed there's no2. it's not in the list. that's just how it is, bestie.)desiredecโ which flavor of Error Correction Mode (ECM) to use:0to disable it,1for 64-byte ECM,2for 256-byte ECM (default).desiredstโ the desired minimum scanline time for page data transmissions:0for 0 ms (default),1for 5 ms,2for 10ms/5ms,3for 10ms,4for 20ms/10ms,5for 20ms,6for 40ms/20ms, and7for 40ms. this value gets used when selecting the negotiated session parameters. it's doing a lot of heavy lifting tbh.desiredtlโ whether or not to use the format string specified by thetaglinejob parameter when imaging taglines on document pages. if this value is non-zero, the per-job format string is used; otherwise, the tagline format string from the server configuration file is used. seeTagLineFormatinhylafax-config(5F).doneopโ the treatment this job gets when thefaxqclean(8C)job cleaner program processes it. it can be one ofremove(expunge the job description file and every associated document that isn't referenced by another job) orarchive(request that the job and its associated documents be archived on the server machine). go readfaxqcleanfor more details on the other stuff that might be crammed into this string. ๐ฆdurationโ the total duration time, in seconds, for all of the sessions for this job.errorcodeโ the codified form of the status message, meant for clients that provide customized status messages keyed off this standard index. iykyk. ๐externalโ the glow-up version of the dialstring ๐ . This is the string that gets used instead of the real dialstring in any status messages and log messages. Why? So clients can keep private stuff (access codes, PINs, whatever you had to shove into a dialstring) on the down-low by handing over a nice ``cleansed'' copy instead. ๐ซถfaxโ the pathname of a TIFF/F document that's all dressed up and ready to transmit ๐. And listen: if that pathname string starts with axx:'', thenxx'' gets read as the index of the first directory in the file to transmit. (directories are numbered starting at zero, bestie, not one โ don't get caught out ๐)faxnumberโ the originating number to use when you're sending a fax. It parallels theFAXNumberdevice config option โจ.faxnameโ the originating name to use when you're sending a fax ๐ฆ.groupidโ the job group identifier: an integer, range 1 to 32000, handed to each group of jobs by the HylaFAX software ๐. Every job in a group that got submitted at the same time gets the same value from HylaFAX.ignoremodembusyโ1if the job should ignore a modem busy status (heads up: this requires server configuration to allow it),0otherwise.jobidโ the job identifier: a unique integer, range 1 to 32000, assigned to each job by the HylaFAX software โญ.jobtagโ a user-specified string meant for identification purposes. If it's defined, it gets returned to the user in notification messages instead of the job identifier ๐ท๏ธ.killtimeโ the time to kill this job, expressed in seconds since 00:00:00 GMT, January 1, 1970 โฐ.locationโ the receiver's location, as specified with the-yoption tosendfax(1). FYI this value is only used when creating continuation cover pages ๐.mailaddrโ the electronic mail address that notification messages should be directed to ๐ง.maxdialsโ the maximum number of times the server should dial the phone. If the job can't be completed in this number of calls, it gets terminated ๐.maxtriesโ the maximum number of times the server should attempt to send a job; and an "attempt" is defined as a session that makes it past Phase A of the CCITT T.30 protocol (for facsimile), or similar. If the job can't be completed in this number of tries, it gets terminated ๐.minspโ the minimum signalling rate to use for transmitting page data ๐ฅ. The mapping goes like this:0for 2400 bps (that's the default),1for 4800 bps,2for 7200 bps,3for 9600 bps,4for 12000 bps,5for 14400 bps,6for 16800 bps,7for 19200 bps,8for 21600 bps,9for 24000 bps,10for 26400 bps,11for 28800 bps,12for 31200 bps, and13for 33600 bps.modemโ the outgoing modem to use to send the job, or ``any'' if literally any available modem is fine ๐.ownerโ the identity of the user that owns the job ๐ค. Usually the owner is whoever created the job, though clients with administrative privileges can change ownership of jobs. The value is the string specified in theUSERcommand passed tohfaxd(8C)when a client logs in to the server.nocountcoverโ indicates the number of pages at the first document that should be ignored in page counting for the tagline ๐ โโ๏ธ.notifyโ whether the sender wants notification, and when. Your options: whenever the job is requeued after a failed attempt to transmit (when requeued''), when the job is completed (when done''), either of the above (when done+requeued''), or <purple>not at all</purple> (none'') ๐.npagesโ the number of pages in the facsimile, cover page included, that have been successfully transmitted โ .ntriesโ the number of unsuccessful attempts that have been made to transmit the current page ๐ญ.ndialsโ the number of consecutive unsuccessful attempts to establish carrier with the remote device ๐.numberโ the dialstring to use to call the destination device โ๏ธ.pageโ a string with PIN and to use in processing a page transmit request ๐.pagechopโ whether or not to automatically truncate trailing whitespace on pages of outbound facsimile; seePageChopinhylafax-config(5F). The possible values are:default'' to use the setting of the `PageChop` configuration parameter,none'' to disable page chopping,all'' to enable chopping of *all* pages, andlast'' to enable chopping of the last page of each document โ๏ธ.pagehandlingโ a string holding per-page information used during facsimile transmission. Most of that info gets used in negotiating session capabilities, with optional extra info used in the implementation of page chopping. The string has five characters, sayxxxxc, for each page to be transmitted. Thexxxxcharacters are a hex-encoded specification of the session capabilities required to transmit the page. Theccharacter is one ofM'',S'', andP''; where:M'' indicates there's another page to follow and that the page requires different T.30 session parameters be negotiated (an EOM code is to be transmitted).S'' indicates there's another page to follow, but the page uses the *same* session parameters (an MPS. code is to be transmitted).P'' indicates this is the last page to be transmitted (an EOP code is to be transmitted). On top of that, if page chopping has been enabled and the page has enough trailing whitespace to be a candidate, then each three character string will be followed by a string of the formZXXXX'', whereXXXX'' is a 4 digit hex-encoded count of the number of bytes of data to send for a chopped page ๐ง.pagelengthโ the desired page length in millimeters ๐.pagewidthโ the desired page width in millimeters ๐.pclโ the pathname of a PCL document to send. Once a PCL document has been processed byfaxsend, it gets marked as!pclso that subsequent retries don't reprocess the document ๐.pollโ the value is a Caller Identification String (CIS) to use in making a polling request. If no CIS is specified, thenfaxsendwill form one from theFAXNumberconfiguration parameter ๐ฎ.postscriptโ the pathname of a POSTSCRIPTยฎ document to send. Once a POSTSCRIPT document has been processed byfaxsend, it gets marked as!postscriptso that subsequent retries don't reprocess the document ๐.probeonlyโ if it's1'' then the call will terminate as complete when a fax connection is established. If it's2'' then the call will terminate as complete after fax handshaking signals are properly received from the receiver. In neither case are the documents actually transmitted ๐.receiverโ the receiver's name. This value is only used when creating continuation cover pages ๐ซถ.resolutionโ the desired vertical resolution in lines per inch. This value should be either98or196๐.retrytimeโ the time, in seconds, to delay between each attempt to transmit a job that fails because of a communication-oriented problem. Normally jobs are scheduled according to a collection of configuration parameters tuned for the specific reason of each failure; e.g. seeJobReqProtoinhylafax-config(5F)โณ.returnedโ used internally to determine the last return value of the job send attempt ๐ ๏ธ.senderโ the ``full name'' of the sender of the facsimile ๐.serverdocoverโ1if the job should have a server-generated cover page,0otherwise ๐.signalrateโ the signalling rate used to transmit facsimile data. This item is recorded byfaxsend(8C)so thatnotify(8C)can return it in a notification message ๐ถ.skippagesโ tells the server to skip over this number of pages in the first document submitted, but to indicate in the page counts as if they were already transmitted (i.e. in a previous job). The server moves this number fromskippagesintoskippedpagesas soon as the document preparation occurs โญ๏ธ.skippedpagesโ tells the server to increment page counts by this number as if that number of pages were transmitted in a previous job ๐ข.stateโ the job scheduling state. Recognized values are:1(suspended, not being scheduled),2(pending, waiting for the time to send),3(sleeping, waiting for a scheduled timeout),4(blocked, waiting for concurrent activity to the same destination to complete),5(ready, ready to be processed except for available resources),6(active, actively being processed by HylaFAX),7(done, processing completed with success), and8(failed, processing completed with a failure) ๐ฆ.statusโ status information about the current state of the job. Typically this is the reason why the last attempt to send the facsimile failed ๐ฌ.subaddrโ the SubAddress information to transmit when sending a facsimile. This string should be used by the receiver to route received facsimile documents ๐บ๏ธ.taglineโ the format string to use in imaging taglines on outgoing documents. Heads up though: this parameter is only used if thedesiredtlparameter is non-zero ๐.tiffโ the pathname of a TIFF/F document to send. Once a TIFF document has been processed byfaxsend, it gets marked as!tiffso that subsequent retries don't reprocess the document ๐.
and now, the final stretch of the params, and they're giving very specific fax energy ๐ โจ
timeofdayโ the time-of-day restrictions to place on the job. The syntax is literally identical to the similarTimeOfDayserver-configuration option found inhylafax-config(5F). ๐ฐ๏ธtimezoneโ the time zone locale setting to use in tagline formatting. ๐totdialsโ the total number of times the server has placed a call to the receiving phone number. ๐totpagesโ the total number of pages to be transmitted. ๐tottriesโ the total number of attempts to transmit a job; seemaxtriesabove. ๐tsiโTSIto use when sending. This is only used if the device has been configured to allow it. Otherwise, the configuredLocalIdentifieris used. ๐ชชttsโ the time to send the job. If this value is non-zero, it is number of seconds since00:00:00 GMT,January 1, 1970. Otherwise, a value of0is interpreted to mean process as soon as possible. โฐuseccoverโ1if the job should use a continuation cover page during retransmission,0otherwise. ๐usexvresโ1if the job should use the highest possible vertical resolution,0otherwise. Seehylafax-server(5F)for a description of continuation cover pages. ๐
โจ SEE ALSO โจ
go read these too, bestie, they're part of the lore ๐ซถ
sendfax(1)faxq(8C)faxqclean(8C)faxsend(8C)pagesend(8C)hfaxd(8C)hylafax-config(5F)
that's the whole SENDQ(5F) page, dated May 12, 1996. bye bestie, go fax something cute ๐โจ
๐ฆ where this page comes from
- alpine 3.24: hylafaxplus-doc 7.0.11-r0 ยท MIT
- 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
- nixos 26.05: hylafaxplus 7.0.11
- nixpkgs unstable: hylafaxplus 7.0.11
- opensuse-leap 16.0: hylafax+ 7.0.10-bp160.1.20 ยท BSD-3-Clause
- opensuse-leap 16.0: hylafax+ 7.0.10-bp160.1.20 ยท BSD-3-Clause
- opensuse-leap 16.0: hylafax+ 7.0.10-bp160.1.20 ยท BSD-3-Clause
- opensuse-leap 16.0: hylafax+ 7.0.10-bp160.1.20 ยท BSD-3-Clause
- 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