FAXWATCH(8C)

πŸ“¦
version 7.0.11 Β· 4 versions
, in fedora 43, fedora 44

πŸ’– FAXWATCH πŸ’– (section 8C of the manual, bestie)

okay so welcome to the faxwatch page, and yes it's a section 8C joint, we love a legacy sysadmin moment πŸ’…


✨ NAME ✨

faxwatch β€” monitor low-level HylaFAX server actions πŸ‘€


πŸŽ€ SYNOPSIS πŸŽ€

/usr/bin/faxwatch [ -g ] [ -l ] [ -h host ] trigger-expression

🌸 DESCRIPTION 🌸

so basically faxwatch signs you up for one or more events on a HylaFAX server, and then it just keeps printing the event messages that come after to standard output. it's giving surveillance but make it polite. the main character purpose here? testing the event distribution mechanism that the HylaFAX servers use. no cap, that's the job. 🫢

the trigger-expression gets handed over as an argument to a SITE TRIGGER command that's passed to hfaxd(8C). the syntax for that expression is:

[<class>['<'id'>'][<mask>|'*']]*

where <class> says which class of events you're talking about, and it's one of these:

  • J β€” for job-related events πŸ’Ό
  • S β€” for fax send-related events πŸ“€
  • R β€” for fax receive-related events πŸ“₯
  • M β€” for modem-related events πŸ“‘

a <mask> is a 4-hex-digit mask of trigger events (peep the table further down ⬇️). and if you write * then literally every event in that class matches. all of them. the whole vibe.

an <id> is how you narrow the matches down to one specific job or modem. (eventually this is gonna need to be generalized for job groups β€” noted, not my problem today πŸ™ˆ)

so for example, a spec that would catch any event for the modem on ttyf2 would be M<ttyf2>*. and to get pinged when job 1932 is requeued or completes, you'd use J<1932>4c60. iconic.

the output from faxwatch is ASCII text that describes each event. faxwatch runs until you interrupt it. it will simply keep going. it has no quit in it bestie 😭


✨ OPTIONS ✨

  • -g β€” display times and dates in Greenwich Mean Time (GMT). NB: this is the default. so yeah, you're already here πŸ•°οΈ
  • -h host β€” report the status of the server on a specific host. the host can be either a symbolic name or a network address. IPv6 addresses are given in [xx:xx::x]:port format. if you don't pass a -h option, faxwatch uses the FAXSERVER environment variable to figure out which HylaFAX server to contact. if that variable isn't set, then faxwatch checks for a setting in the configuration files (first in the per-user file and then in the system-wide file). and if all of the above fails, then faxwatch just tries to contact a server on the machine where it's being run. persistence!! 🐝
  • -l β€” display times and dates in the local timezone of the server 🌍
  • -v β€” trace the protocol exchanges between faxwatch and the hfaxd processes on standard output. for when you want to see the receipts πŸ”

🌈 EVENTS 🌈

here's the current set of events you can monitor. heads up though: this info is subject to change β€” consult the source code for reference, fr fr.

  • JOB_CREATE β€” class J, mask 0x0001 β€” job created
  • JOB_SUSPEND β€” class J, mask 0x0002 β€” job suspended
  • JOB_READY β€” class J, mask 0x0004 β€” job ready to send
  • JOB_SLEEP β€” class J, mask 0x0008 β€” job sleeping awaiting time-to-send
  • JOB_DEAD β€” class J, mask 0x0010 β€” job marked dead
  • JOB_PROCESS β€” class J, mask 0x0020 β€” job processed by scheduler
  • JOB_REAP β€” class J, mask 0x0040 β€” job corpus reaped
  • JOB_ACTIVE β€” class J, mask 0x0080 β€” job activated
  • JOB_REJECT β€” class J, mask 0x0100 β€” job rejected
  • JOB_KILL β€” class J, mask 0x0200 β€” job killed
  • JOB_BLOCKED β€” class J, mask 0x0400 β€” job blocked by other job
  • JOB_DELAYED β€” class J, mask 0x0800 β€” job delayed by tod restriction or similar
  • JOB_ALTEREDΒΉ β€” class J, mask 0x1000 β€” job parameters altered
  • JOB_TIMEDOUT β€” class J, mask 0x2000 β€” job kill timer expired
  • JOB_PREP_BEGIN β€” class J, mask 0x4000 β€” job preparation started
  • JOB_PREP_END β€” class J, mask 0x8000 β€” job preparation finished
  • SEND_BEGIN β€” class S, mask 0x0001 β€” fax, send attempt started
  • SEND_CALL β€” class S, mask 0x0002 β€” fax, call placed
  • SEND_CONNECTED β€” class S, mask 0x0004 β€” fax, call answered by fax
  • SEND_PAGE β€” class S, mask 0x0008 β€” fax, page transmit done
  • SEND_DOC β€” class S, mask 0x0010 β€” fax, document transmit done
  • SEND_POLLRCVD β€” class S, mask 0x0020 β€” fax, document retrieved by poll operation
  • SEND_POLLDONE β€” class S, mask 0x0040 β€” fax, poll operation completed
  • SEND_END β€” class S, mask 0x0080 β€” fax, send attempt finished
  • SEND_REFORMAT β€” class S, mask 0x0100 β€” fax, job being reformatted
  • SEND_REQUEUE β€” class S, mask 0x0200 β€” fax, job requeued
  • SEND_DONE β€” class S, mask 0x0400 β€” fax, send job done
  • RECV_BEGIN β€” class R, mask 0x0001 β€” fax, inbound call started
  • RECV_START β€” class R, mask 0x0002 β€” fax, session started
  • RECV_PAGE β€” class R, mask 0x0004 β€” fax, page receive done
  • RECV_DOC β€” class R, mask 0x0008 β€” fax, document receive done
  • RECV_END β€” class R, mask 0x0010 β€” fax, inbound call finished
  • MODEM_ASSIGN β€” class M, mask 0x0001 β€” modem assigned to job
  • MODEM_RELEASE β€” class M, mask 0x0002 β€” modem released by job
  • MODEM_DOWN β€” class M, mask 0x0004 β€” modem marked down
  • MODEM_READY β€” class M, mask 0x0008 β€” modem marked ready
  • MODEM_BUSY β€” class M, mask 0x0010 β€” modem marked busy
  • MODEM_WEDGED β€” class M, mask 0x0020 β€” modem considered wedged
  • MODEM_INUSE β€” class M, mask 0x0040 β€” modem in use for outbound work
  • MODEM_DATA_BEGIN β€” class M, mask 0x0080 β€” inbound data call begun
  • MODEM_DATA_END β€” class M, mask 0x0100 β€” inbound data call finished
  • MODEM_VOICE_BEGIN β€” class M, mask 0x0200 β€” inbound voice call begun
  • MODEM_VOICE_END β€” class M, mask 0x0400 β€” inbound voice call finished
  • MODEM_CID β€” class M, mask 0x0800 β€” inbound caller-ID information
ΒΉ that one, JOB_ALTERED, is event to be removed soon. don't get attached πŸ’€

πŸ¦‹ SEE ALSO πŸ¦‹

hylafax-server(5F), hfaxd(8C).


and that's the whole page bestie!! this one was dated January 18, 1996, and it's the FAXWATCH(8C) page from the HylaFAX world β€” old enough to be vintage, still out here monitoring low-level server actions like a queen πŸ‘‘ thanks for reading, mwah πŸ’–βœ¨

πŸ“¦ where this page comes from