Article # 128, added by Geoworks, historical record
| first |
previous |
index |
next |
last |
Fax driver INI settings and misc. information
1) What are the pertinent .ini settings for fax? Here are the fax-related ini settings. I tried to comment things that don't seem obvious. [printer] printers = { Fax Print Driver on Unknown Adobe LaserJet II Cartridge (PostScript) on COM2 } numPrinters = 1 count = 2 numFacsimiles = 1 defaultPrinter = 0 [Fax Print Driver on Unknown] type = 2 driver = EC Fax Print Driver device = Fax Print Driver port = UNKNOWN intermittent = false [media] com2 = 0400000003000000 ; tells mailbox fax is available com3 = 01000000 com1 = 01000000 [FAX] senderName = Jim Wood who has a very very long name that goes off the page senderCompany = Geoworks senderVoiceNum = 206.545.0327 senderFaxNum = 206.545.1050 senderStationID = Jimmy's fax machine [modemLurker] detectData = false ; don't look for a data call detectFax = true ; do answer fax calls faxAppToken = FAXR ; application to launch on receive faxAppManID = 0 dataDriver = EC Class 2 Fax Input Driver dataDriverEntry = 14 autoAnswer = true ; used by faxreceive also ringThreshold = 1 ; " " [faxIn] faxinDriverName = EC Class 1 Fax Input Driver class = 2 capabilities = 1,5,0,0,0,0,0,0 ; set via fax preferences comPort = 2 [faxout] flags = 6 ; FaxoutDialFlags in faxOutDr.def faxoutDriverName = EC Class 1 Fax Output Driver class = 1 comPort = 0 capabilities = 05001000 timeout = 30 [coverPage] path = F:\ensec\userdata\template\fax_temp scrapbook = Fax templates scrap = Coverpage template 2) What happens when memory gets low during fax receive? If we run out when we are about to answer the phone, we don't answer. If we run out while we are receiveing image data we ignore all the extra data. Any data that has already been written to the file will be kept (so partial pages are not deleted, nor are complete pages). If we are out of space when we are going to start a page, we end the session. So, if we ran out of space during page 2, we will wait until we are done with that page before we end the session (the sender can't be told to stop in the middle of a page). If we are unable to save our faxfile because we ran out of space, we delete the last page and try again, we delete pages until we can save the file. So in this case you might not actually get a partial page even though we tried to keep it. If all the pages get deleted then we nuke the file. 3) Do the faxin drivers and faxrec communicate via gcn lists? No. Faxrec (and the faxsend transport driver) register with the driver they are using. When they do that they pass an optr, and a few messages that are to be sent to that optr for whatever communicating needs to be sent back. mov cx, es:[processHandle] mov ax, MSG_FAXRECEIVE_TIMER mov bx, MSG_FAXRECEIVE_FAX_NOTIFICATION mov bp, MSG_FAXRECEIVE_UPDATE_STATUS mov di, DR_FAXIN_REGISTER call es:[receiveDriver] ; carry set on failure So the input driver will be sending MSG_FAXRECEIVE_FAX_NOTIFICATION to the process object when it wants to send out a FRFN_* Whenever faxrec is to "send" something back it just calls the driver function (DR_FAXIN_*) 4) Do the fax in/out drivers run on their own threads? No. They run on the thread of the caller. The faxsend transport driver creates a thread whose only job is to service the notifications from the output driver (until the driver is done, then it does cleanup stuff). Faxreceive uses its process thread to run the driver.