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 call
  • company (string) โ€” receiver's company
  • conntime (integer) โ€” total connection time for all sessions
  • client (string) โ€” host that submitted the job
  • cover (string) โ€” continuation coverpage file
  • data (string) โ€” unprocessed document of indeterminate type
  • !data (string) โ€” processed document of indeterminate type
  • dataformat (string) โ€” data format used to transmit a facsimile
  • desiredbr (integer) โ€” desired maximum transmit speed
  • desireddf (integer) โ€” desired page data format
  • desiredec (integer) โ€” desired use of Error Correction Mode (ECM)
  • desiredst (integer) โ€” desired minimum scanline time
  • desiredtl (integer) โ€” whether or not to use tagline parameter
  • doneop (string) โ€” operation to perform when job is reaped
  • duration (integer) โ€” total duration time for all sessions
  • errorcode (string) โ€” job status error code
  • external (string) โ€” external form of dialstring
  • fax (string) โ€” document ready for transmission
  • faxnumber (string) โ€” origin number to use sending
  • faxname (string) โ€” origin name to use sending
  • groupid (integer) โ€” HylaFAX job group identifier
  • ignoremodembusy (integer) โ€” whether or not to ignore a modem busy state
  • jobid (integer) โ€” HylaFAX job identifier
  • jobtag (string) โ€” user-specified job identifier
  • jobtype (string) โ€” job type identification string
  • killtime (integer) โ€” time to give up trying to send job
  • location (string) โ€” receiver's location
  • mailaddr (string) โ€” email address of sender
  • maxdials (integer) โ€” max number of times to dial
  • maxtries (integer) โ€” max number of attempts to send job
  • minbr (integer) โ€” minimum required transmit speed
  • modem (string) โ€” outgoing modem to use
  • ndials (integer) โ€” number of consecutive failed attempts to place call
  • nocountcover (integer) โ€” don't include these pages in counts
  • notify (string) โ€” email notification specification
  • npages (integer) โ€” number of pages transmitted
  • ntries (integer) โ€” number of attempts to send current page
  • number (string) โ€” dialstring to use in placing call
  • owner (string) โ€” user that owns the job
  • page (string) โ€” PIN in a page operation
  • pagechop (string) โ€” whitespace truncation handling
  • pagehandling (string) โ€” page analysis information
  • pagelength (integer) โ€” facsimile page length (millimeters)
  • pagewidth (integer) โ€” facsimile page width (millimeters)
  • passwd (string) โ€” info to send in HDLC PWD frame
  • pcl (string) โ€” unprocessed PCL document
  • !pcl (string) โ€” processed PCL document
  • poll (string) โ€” polling request
  • postscript (string) โ€” unprocessed POSTSCRIPT document
  • !postscript (string) โ€” processed POSTSCRIPT document
  • priority (integer) โ€” user-specified scheduling priority
  • probeonly (integer) โ€” if non-zero this identifies the probe type
  • receiver (string) โ€” receiver's identity
  • resolution (integer) โ€” vertical resolution of facsimile
  • retrytime (integer) โ€” time to use between job retries
  • returned (integer) โ€” indicates return status value for the job
  • schedpri (integer) โ€” current scheduling priority
  • sender (string) โ€” identity of sender
  • serverdocover (integer) โ€” whether or not to have the server create the cover page
  • signalrate (string) โ€” signalling rate at which a facsimile was sent
  • skippages (integer) โ€” skip this number of pages in the first document
  • skippedpages (integer) โ€” increment page counts by this number
  • state (integer) โ€” job scheduling state
  • status (string) โ€” job status
  • subaddr (string) โ€” info to send in HDLC SUB frame
  • tagline (string) โ€” tagline format string
  • tiff (string) โ€” unprocessed TIFF/F document
  • !tiff (string) โ€” processed TIFF/F document
  • timeofday (string) โ€” time of day restrictions
  • timezone (string) โ€” time zone to use for tagline formatting
  • totdials (integer) โ€” total number of phone calls
  • totpages (integer) โ€” total pages to transmit
  • tottries (integer) โ€” total number of attempts to send job
  • tsi (string) โ€” TSI to transmit when sending
  • tts (integer) โ€” time to send job
  • useccover (integer) โ€” whether or not to use a continuation cover page
  • usexvres (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 the PageChopThreshold configuration parameter gets used instead โ€” peep hylafax-config(5F) for that one.
  • commid โ€” the communication identifier for the last outbound call placed for this job. this string looks like "XXXXXXXX", where XXXXXXXX is a decimal sequence number sitting somewhere in the range 1-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 -x option to sendfax(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. see ContCoverPage and ContCoverCmd in hylafax-config(5F).
  • data โ€” the pathname of a document to send. and once a document has been processed, it gets marked as !data so 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 by faxsend(8C) so that notify(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 bps
    • 1 โ€” 4800 bps
    • 2 โ€” 7200 bps
    • 3 โ€” 9600 bps
    • 4 โ€” 12000 bps
    • 5 โ€” 14400 bps
    • 6 โ€” 16800 bps
    • 7 โ€” 19200 bps
    • 8 โ€” 21600 bps
    • 9 โ€” 24000 bps
    • 10 โ€” 26400 bps
    • 11 โ€” 28800 bps
    • 12 โ€” 31200 bps
    • 13 โ€” 33600 bps (default) ๐Ÿ‘‘
  • desireddf โ€” the desired data format for page data transmissions: 0 for 1-D MH, 1 for 2-D MR, 3 for 2-D MR with uncompressed data, and 4 for 2-D MMR (default). (and yeah, we noticed there's no 2. it's not in the list. that's just how it is, bestie.)
  • desiredec โ€” which flavor of Error Correction Mode (ECM) to use: 0 to disable it, 1 for 64-byte ECM, 2 for 256-byte ECM (default).
  • desiredst โ€” the desired minimum scanline time for page data transmissions: 0 for 0 ms (default), 1 for 5 ms, 2 for 10ms/5ms, 3 for 10ms, 4 for 20ms/10ms, 5 for 20ms, 6 for 40ms/20ms, and 7 for 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 the tagline job 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. see TagLineFormat in hylafax-config(5F).
  • doneop โ€” the treatment this job gets when the faxqclean(8C) job cleaner program processes it. it can be one of remove (expunge the job description file and every associated document that isn't referenced by another job) or archive (request that the job and its associated documents be archived on the server machine). go read faxqclean for 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 a xx:'', then xx'' 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 the FAXNumber device 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 โ€” 1 if the job should ignore a modem busy status (heads up: this requires server configuration to allow it), 0 otherwise.
  • 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 -y option to sendfax(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: 0 for 2400 bps (that's the default), 1 for 4800 bps, 2 for 7200 bps, 3 for 9600 bps, 4 for 12000 bps, 5 for 14400 bps, 6 for 16800 bps, 7 for 19200 bps, 8 for 21600 bps, 9 for 24000 bps, 10 for 26400 bps, 11 for 28800 bps, 12 for 31200 bps, and 13 for 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 the USER command passed to hfaxd(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; see PageChop in hylafax-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, and last'' 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, say xxxxc, for each page to be transmitted. The xxxx characters are a hex-encoded specification of the session capabilities required to transmit the page. The c character is one of M'', S'', and P''; 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 form ZXXXX'', where XXXX'' 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 by faxsend, it gets marked as !pcl so 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, then faxsend will form one from the FAXNumber configuration parameter ๐Ÿ“ฎ.
  • postscript โ€” the pathname of a POSTSCRIPTยฎ document to send. Once a POSTSCRIPT document has been processed by faxsend, it gets marked as !postscript so that subsequent retries don't reprocess the document ๐Ÿ”.
  • probeonly โ€” if it's 1'' then the call will terminate as complete when a fax connection is established. If it's 2'' 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 either 98 or 196 ๐Ÿ”.
  • 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. see JobReqProto in hylafax-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 โ€” 1 if the job should have a server-generated cover page, 0 otherwise ๐Ÿ“„.
  • signalrate โ€” the signalling rate used to transmit facsimile data. This item is recorded by faxsend(8C) so that notify(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 from skippages into skippedpages as 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), and 8 (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 the desiredtl parameter is non-zero ๐Ÿ‘€.
  • tiff โ€” the pathname of a TIFF/F document to send. Once a TIFF document has been processed by faxsend, it gets marked as !tiff so 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 similar TimeOfDay server-configuration option found in hylafax-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; see maxtries above. ๐Ÿ”
  • tsi โ€” TSI to use when sending. This is only used if the device has been configured to allow it. Otherwise, the configured LocalIdentifier is used. ๐Ÿชช
  • tts โ€” the time to send the job. If this value is non-zero, it is number of seconds since 00:00:00 GMT, January 1, 1970. Otherwise, a value of 0 is interpreted to mean process as soon as possible. โฐ
  • useccover โ€” 1 if the job should use a continuation cover page during retransmission, 0 otherwise. ๐Ÿ’Œ
  • usexvres โ€” 1 if the job should use the highest possible vertical resolution, 0 otherwise. See hylafax-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