Go to the first, previous, next, last section, table of contents.

QFAX Thing

QFAX Thing Introduction

There is an optional QFAX THING (you need to have loaded HOT_REXT on QDOS systems) that maintains a list of the full path name and time stamp for received fax. The number of entries is definable when the THING in loaded. The default list size is 20. Once the number of entries reaches the list size, old entries are replaced. qfv has a menu option 'Review' that displays the THING list (file name and time), a fax may be 'picked' from this list for display and print.

The THING list may be saved as a file and reloaded when the system is rebooted.

qfax will maintain the list for fax received without error. A workaround is provided that may add similar functionality for LFAX users without necessarily requiring a new version of LFAX.

Thing Components

QFAXThing

The 'qfaxthing' program installs, loads, saves and removes the QFAX THING. It takes the following options.

Thing Load Command

The load command installs the QFAX THING and initialises its data structures.

ex qfaxthing;'load [ListSize] [SavedData]'

Running 'qfaxthing' with the command 'load' takes two optional arguments, the number of entries in the list table and an existing 'saved THING list' file to load the THING with data. If both arguments are given, they must be in the order specified.

examples:
ex qfaxthing;'load 40 flp2_arrivals_dat' ; from saved file, 40 entries
ex qfaxthing;'load 16'                   ; blank, 16 entries
ex qfaxthing;'load win1_inbound_dat'     ; from file, entries as file
ex qfaxthing;'load'                      ; blank, default (20) entries

The QFAX THING is not recognised by ANY QFAX programs unless you have first run 'qfaxthing;"load"'. The QFAX THING should not be loaded when qfaxthing is run. The QFAX THING maybe 'preloaded' from your existing received fax files using the 'LoadNT' program. See section LoadNT.

Thing Kill Command

The 'kill' command removes the QFAX THING from the system

ex qfaxthing;'kill'

Thing Save Command

The 'Save' command saves the content of the QFAX THING to a file

ex qfaxthing;'save filename'
example:
ex qfaxthing;'save win1_inbound_dat'

Thing QFAX_DAT

The usage of the QFAX THING within the QFAX transport program 'qfax' is defined by the additional QFAX_DAT key.

SAVETHING = filename

Where SAVETHING defines the name of the THING save file. If this entry is defined, then 'qfax' will save the THING data to the file every time the THING is updated (i.e. after a fax is received). If SAVETHING is not defined, then the THING is still updated but the data is not saved to a file.

Note that the 'qfaxthing' program does not use this QFAX_DAT key; this is to minimise the overhead when 'qfaxthing' is run as part of a BOOT file.

So, if in your BOOT file you have

ew qfaxthing;'load win1_faxdata_arrivals_dat'
you may wish to define
SAVETHING = win1_faxdata_arrivals_dat

in QFAX_DAT to ensure the latest inbound fax information survives a system crash or otherwise unexpected shutdown.

Thing (LFAX users)

I am not aware of the degree of support (if any) for QFAX Thing in the LFAX transport program. The FLOG utility is provided to give access to the QFAX Thing if the transport program does not.

FLOG program

A utility FLOG is provided (FLOG stands for FaxLOG).

FLOG may be run as the 'RXJOB' by LFAX after a fax is received. When FLOG has updated the QFAX THING, it can save the QFAX THING data and then run an (optional) user defined command.

ex FLOG;'-f path [-s savefile] [user_command]'

where 
  path         is the name of the received fax file
  savefile     is the name of a THING save file
  rest of line is a user command

For example:

Putting the following line in an LFAX_CGF file may update the QFAX THING and save the THING data before printing the fax. LFAX users should check the syntax with the LFAX manual, I do not have a copy of this.

RXJOB = FLOG  
JOBCMD = -swin1_faxdata_arrivals_dat%s-f%f%sprintfax%s-c9%s%f

Note that the timestamp in the QFAX THING will be the time that FLOG is run, not the time when the fax was received, but for practical purposes should be close enough.

Thing Technical Reference

A file, `flog.c.zip' is available. This file defines the structure of the QFAX THING and provides example 'C' code for updating QFAX THING data and saving THING data to a file.

QFAX users will find FLOG'ing futile (and double entries in the THING).

LoadNT

The program "LoadNT" (NT = Nice Thing) will scan your existing received faxes and create a QFAX THING containing the last 20 received fax. The QFAX THING must *not* exist for this. You supply name of your top level inbound directory, the fax files MUST have the suffix '_fax'. If you had, for example, used SUFFIX=G3, then you will find you are truly stuffixed and will have to endure a good FLOG'ing to load your existing fax.

Assuming that my inbound fax dir is flp2_ then

EW qfaxthing;'kill'           : REM ensure noTHING exists
EW loadNT;'flp2_'             : REM Make the list
                                (this will also search sub-dirs)
EW qfaxthing;'save myfax_thg' : REM Save it
EX qfaxview                   : REM View some THING

If, for example, you have inbound fax in win1_infax_ (and sub-directories thereof), then:

EW loadNT;'win1_infax_'

would be appropriate.

Note that this process may take some time if you have a large fax database. LoadNT displays the sub-directories found, your top twenty and some search statistics.

qfaxview

qfaxview displays the contents of a fax thing in a scrollable PTR window. HITing or DOing an entry will result in the file name being STUFFED in the hot key 'stuffer buffer'. The freeeware *BASIC extension "GetStuffed" may be used to return data from the STUFFER buffer to a user *BASIC program.

Thing Example

I have included an example, example_thg, of a saved thing. If you are curious to see who faxes me (and incidentally if this works, then):

EW qfaxthing;'kill'              : REM ensure noTHING exists
EW qfaxthing;'load example_thg'  : REM Load it
EW qfaxview                      : REM View some THING
a$ = GetStuffed                  : REM stuffed data
EW qfaxthing;'kill'              : REM ensure noTHING exists

Go to the first, previous, next, last section, table of contents.