home *** CD-ROM | disk | FTP | other *** search
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- FDDEV 2.02
-
- FrontDoor Developer's Kit
-
- For FrontDoor 2.00 and above
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Table of contents
-
- 1 LEGAL NOTICE . . . . . . . . . . . . . . . . . . . . . . . . . 1
-
- 2 Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
- PASCAL.ARJ . . . . . . . . . . . . . . . . . . . . . . . . . 2
- C.ARJ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
- FDDEV.DOC . . . . . . . . . . . . . . . . . . . . . . . . . . 2
-
- 3 Data types . . . . . . . . . . . . . . . . . . . . . . . . . . 2
-
- 4 Unix-style dates . . . . . . . . . . . . . . . . . . . . . . . 2
-
- 5 CRC values . . . . . . . . . . . . . . . . . . . . . . . . . . 2
-
- 6 The FD environment variable . . . . . . . . . . . . . . . . . . 3
-
- 7 Country specific information . . . . . . . . . . . . . . . . . 3
-
- 8 DOS versions . . . . . . . . . . . . . . . . . . . . . . . . . 3
-
- 9 Miscellaneous files . . . . . . . . . . . . . . . . . . . . . . 3
- SETUP.FD . . . . . . . . . . . . . . . . . . . . . . . . . . 3
- EVENT.FD . . . . . . . . . . . . . . . . . . . . . . . . . . 3
- FOLDER.FD . . . . . . . . . . . . . . . . . . . . . . . . . . 3
- PASSWORD.FD . . . . . . . . . . . . . . . . . . . . . . . . . 3
- INBOUND/OUTBOUND.HIS . . . . . . . . . . . . . . . . . . . . 4
- NODIAL.FD . . . . . . . . . . . . . . . . . . . . . . . . . . 4
- REQUEST.FD . . . . . . . . . . . . . . . . . . . . . . . . . 4
- LASTCALL.FD . . . . . . . . . . . . . . . . . . . . . . . . . 4
- MODEM.FD . . . . . . . . . . . . . . . . . . . . . . . . . . 4
- TERMKEYS.FD . . . . . . . . . . . . . . . . . . . . . . . . . 4
- TERMPHON.FD . . . . . . . . . . . . . . . . . . . . . . . . . 4
- TERMPROF.FD . . . . . . . . . . . . . . . . . . . . . . . . . 4
-
- 10 Reserved space . . . . . . . . . . . . . . . . . . . . . . . . 4
-
- 11 The log file . . . . . . . . . . . . . . . . . . . . . . . . . 5
-
- 12 Communicating with FrontDoor . . . . . . . . . . . . . . . . . 6
- FDRESCAN.NOW . . . . . . . . . . . . . . . . . . . . . . . . 6
- FMRESCAN.NOW . . . . . . . . . . . . . . . . . . . . . . . . 6
- FDINSESS.nnn . . . . . . . . . . . . . . . . . . . . . . . . 6
- FDINEXIT.nnn . . . . . . . . . . . . . . . . . . . . . . . . 7
- FDNOUSER.NOW . . . . . . . . . . . . . . . . . . . . . . . . 7
- FDNOSCAN.NOW . . . . . . . . . . . . . . . . . . . . . . . . 7
- FDNOEXIT.NOW . . . . . . . . . . . . . . . . . . . . . . . . 7
- NODIAL.FD . . . . . . . . . . . . . . . . . . . . . . . . . . 7
- FDEXIT.nnn . . . . . . . . . . . . . . . . . . . . . . . . . 7
- FDRENUM.nnn . . . . . . . . . . . . . . . . . . . . . . . . . 7
- ROUTE.FD . . . . . . . . . . . . . . . . . . . . . . . . . . 7
-
- 13 Service requests . . . . . . . . . . . . . . . . . . . . . . . 8
-
- 14 .MSG file format . . . . . . . . . . . . . . . . . . . . . . . 8
-
- 15 The LOCAL bit . . . . . . . . . . . . . . . . . . . . . . . . 8
-
- 16 Packet format . . . . . . . . . . . . . . . . . . . . . . . . 8
-
-
-
-
-
- 17 Nodelist . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
-
- 18 Getting in touch . . . . . . . . . . . . . . . . . . . . . . . 8
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 1 LEGAL NOTICE
-
- The FrontDoor Developer's Kit and information attached hereto,
- hereafter referred to as FDDEV, is protected by applicable copyright
- laws and international treaty provisions. FDDEV is provided as is,
- without warranty of any kind or fitness for a particular purpose,
- either expressed or implied, all of are hereby explicitly disclaimed.
- Advanced Engineering sarl only guarantees that FDDEV will occupy disk
- space.
-
- The entire risk as to the quality and performance of FDDEV is with
- you. Should FDDEV prove defective or incorrect, you assume the entire
- cost of all necessary servicing, repair, and/or correction. In no
- event shall Advanced Engineering sarl or Joaquim H. Homrighausen be
- liable to the you or anyone else for any damages or costs, including,
- but not limited to, any lost profits, lost savings, lost income, lost
- information, loss of the right to use FDDEV, or other incidental or
- consequential damages arising out of the use or inability to use
- FDDEV.
-
- Additional statements by agents, employees, distributors, and dealers
- of Advanced Engineering sarl do not constitute warranties by Advanced
- Engineering sarl and do not bind Advanced Engineering sarl.
-
- The information contained in this document was assembled from source
- code and various data definitions from the FrontDoor E-Mail system. I
- don't guarantee the accuracy of this information and it's subject to
- change without further notice.
-
- I will try to keep this information as up-to-date as possible. If you
- decide to write an application with explicit support for FrontDoor,
- feel free to use this information as long as you understand that
- you're on your own. There is no support available for this package.
- It's intended to be used by programmers and developers.
-
- FDDEV may be published and distributed to other people as long as no
- part of it is modified by any means, this includes translation to any
- other language (technical or social), and as long as no charges are
- applied, this includes trading. FDDEV information may not be used to
- reverse engineer FrontDoor, or any related utility, nor may it be
- used to commercially compete with Advanced Engineering sarl or
- Joaquim H. Homrighausen.
-
- All Advanced Engineering sarl and Joaquim H. Homrighausen products
- are trademarks or registered trademarks of Advanced Engineering sarl
- or Joaquim H. Homrighausen. Other brand and product names are
- trademarks or registered trademarks of their respective holders.
-
- Copyright 1990-1991 Advanced Engineering sarl. All rights reserved.
-
- Documentation and Software written by Joaquim H. Homrighausen.
-
-
-
-
-
-
-
- 1
-
-
-
-
-
- 2 Files
-
- PASCAL.ARJ
-
- A collection of include (.INC) files for use with Turbo Pascal
- 5.5 and later.
-
- C.ARJ
-
- A collection of include (.H) files for use with most ANSI C
- compatible C compilers.
-
- FDDEV.DOC
-
- This file.
-
-
- 3 Data types
-
- The file definitions in this package make references to several data
- types, such as integers and bytes ('U' is used to indicate the C
- notation "unsigned"). These are as follows:
-
- Pascal C Description
- ---------------------------------------------------------------------
- integer int A 16-bit signed integer. If the high bit is set,
- the number is negative, otherwise it's a positive
- number.
-
- word Uint A 16-bit unsigned integer. The high bit is used
- for data and does not represent the sign.
-
- longint Ulong A 32-bit unsigned (long) integer. The high bit is
- used for data and does not represent the sign.
-
- byte Uchar An 8-bit unsigned byte. The high bit is used for
- data and does not represent the sign.
- ---------------------------------------------------------------------
-
-
- 4 Unix-style dates
-
- A Unix-style time/date stamp is a 32-bit integer containing the
- number of seconds since midnight (GMT/UTC), January 1, 1970.
-
-
- 5 CRC values
-
- CRC (Cyclic Redundancy Check) values (CCITT variant) are used
- frequently in the FrontDoor environment to ensure data integrity,
- etc. How you generate a CRC value is beyond the scope of this
- documentation.
-
-
-
-
-
-
- 2
-
-
-
-
-
- 6 The FD environment variable
-
- If the FD environment variable is set, FrontDoor will use the drive
- and directory pointed to by it to retrieve the information in the
- SETUP.FD file. If the FD environment variable is not set, FrontDoor
- will assume that SETUP.FD is in the current directory. I strongly
- advise you to follow the same pattern for your own application.
-
- Note that the directory where SETUP.FD is located is not necessarily
- the FrontDoor system directory. You should read the contents of
- SETUP.FD and use the SYSTEMPATH field to determine where the system
- directory actually is.
-
-
- 7 Country specific information
-
- FrontDoor and several related utilities display the date and time in
- the format indicated by the COUNTRY setting in CONFIG.SYS. I suggest
- you do the same. All you have to do is to use the DOS (INT 0x21) call
- to retrieve information about the current country (0) and DOS will
- fill the passed structure with the proper information.
-
-
- 8 DOS versions
-
- Since FrontDoor require that the user has DOS version 3.10 or above,
- it's safe for your own FrontDoor utilities to require the same.
-
-
- 9 Miscellaneous files
-
- File SETUP.FD
- Loc See above.
- Def CTL.H/.INC
- Desc The core system file for FrontDoor. It has to be present
- before FD will operate. You have to read data from this file
- to retrieve the SYSTEMPATH field, where FD keeps most of its
- other files.
-
- File EVENT.FD
- Loc System directory
- Def EVENT.H/.INC
- Desc Contains information about events.
-
- File FOLDER.FD
- Loc System directory
- Def FOLDER.H/.INC
- Desc Contains information about the message editor's (FM) folders.
- The NetMail folder is stored in SETUP.FD.
-
- File PASSWORD.FD
- Loc System directory
- Def SESSION.H/.INC
- Desc Session level passwords and specific behavior, relating to
- protocols and handshake methods, when calling other systems.
-
-
-
- 3
-
-
-
-
-
- File INBOUND/OUTBOUND.HIS
- Loc System directory
- Def MAILHIST.H/.INC
- Desc Inbound and outbound mail history.
-
- File NODIAL.FD
- Loc System directory
- Def UNDIAL.H/.INC
- Desc List of undialable systems.
-
- File REQUEST.FD
- Loc System directory
- Def REQUEST.H/.INC
- Desc Password protection for inbound file/update requests.
-
- File LASTCALL.FD
- Loc System directory
- Def LASTCALL.H/.INC
- Desc Last inbound and outbound mail call as well as recent system
- activity.
-
- File MODEM.FD
- Loc System directory
- Def MODEM.H/.INC
- Desc Data to send to modem prior to dialing a system.
-
- File TERMKEYS.FD
- Loc System directory
- Def TERMINAL.H/.INC
- Desc Terminal macro key definitions.
-
- File TERMPHON.FD
- Loc System directory
- Def TERMINAL.H/.INC
- Desc Terminal phone directory definitions.
-
- File TERMPROF.FD
- Loc System directory
- Def TERMINAL.H/.INC
- Desc Interactive EMSI profiles for the terminal.
-
-
- 10 Reserved space
-
- Arrays or variables marked "Reserved" or "Reserverat" is RESERVED
- storage and may NOT be used for your own purposes. This is for your
- own good. The obvious situation would be if I release a new version
- of FrontDoor that uses that space and you don't have time to release
- an updated version of your utility.
-
-
-
-
-
-
-
-
-
- 4
-
-
-
-
-
- 11 The log file
-
- FrontDoor, TosScan, and AirMail uses the same logging format. Here's
- a sample of three different programs all using the same log format:
-
- ---------- Wed 02 Oct 91, FD 2.02
- = 11.28.17 RING
- = 11.28.30 CONNECT 14400/ARQ/V32/LAPM
- + 11.28.32 Online Communications Inc., 1:132/300
- ~ 11.28.32 SysOp: James Smith
- ~ 11.28.32 Using: FrontDoor 2.10/OC00003C
- : 11.28.32 Tranx: 28E9AD5E / 28E969D2
- ~ 11.28.32 Flags: XA,CM,HST,V42B,V32B
- ~ 11.28.32 Phone: 1-207-990-3511
- 11.28.32 sType: EMSI
- 11.28.32 Password protected mail session
- * 11.28.39 Rcvd C:\FD\FILE\NET\000693C8.PKT; 4826b, 1206 CPS
- * 11.29.16 Rcvd C:\FD\FILE\NET\FF76011B.WE1; 33365b, 926 CPS
- * 11.29.29 Sent C:\FD\FILE\OE\A3DAB809.WE1; 7664b, 1916 CPS
- + 11.29.32 Mail transfer completed
- $ 11.29.32 From 1:132/300, 1.00, 0.
- 11.29.33 Truncating sent file: C:\FD\FILE\OE\A3DAB809.WE1
- 11.29.36 Msg 56 from 1:132/300 to tomas bremin
- - 11.29.36 Mail received, errorlevel=255; exiting
-
- ---------- Thu 22 Feb 90, TSUTIL; Link
- # 21:26:12 505 messages linked
-
- ---------- Thu 22 Feb 90, TSMAINT; EMPTY
- # 21:26:26 0 "empty" area(s) found
-
- The 'dash line' is created whenever FrontDoor is brought up from DOS.
- If you want to insert information about which program is running, do
- it like the samples above.
-
- The time format used in the log file is always in 24 hour format, but
- the separators (':' for USA, '.' for Sweden, etc.) should be taken
- from DOS' country structure. The century of the year is never written
- to the log.
-
- Please try to use a format similar to or exactly like the above
- samples. There are several log analyzers out there for FrontDoor.
- Also, please don't use any of the 'symbols' (first character on the
- line) that are used by FrontDoor or TosScan as that could probably
- confuse some log analyzer.
-
-
-
-
-
-
-
-
-
-
-
-
-
- 5
-
-
-
-
-
- 12 Communicating with FrontDoor
-
- If FrontDoor is running in a multitasking environment, such as
- DESQView or on a LAN such as Novell, the contents of the NetMail
- folder can change quite easily. A program on one workstation could
- create new mail that has to be sent out immediately, another program
- could unpack mail received from a Usenet feed, etc. FrontDoor's
- mailer (FD) and editor (FM) can be forced to rescan its NetMail
- folder by using semaphore files.
-
- FM and FD check for the various semaphore files periodically. How
- frequently this occurs depends on how much the program has to do and
- what it is doing.
-
- All semaphore files are checked for in the SYSTEMPATH directory in
- the noncommercial version. In the commercial version, the RESCANPATH
- directory is used if it's defined, otherwise the SYSTEMPATH directory
- is used. The noncommercial version of FrontDoor ignores the
- RESCANPATH directory completely.
-
- The size of the semaphore files is ignored and several of the files
- are never removed. Instead, the program reads the timestamp of the
- file and simply checks for an updated timestamp.
-
- The following files are supported:
-
- FDRESCAN.NOW Forces FD to discard all mail packets (NOT messages)
- from the temporary packet directory and rescan the
- contents of the NetMail folder before rebuilding the
- packets.
-
- FD updates this file by itself after mail sessions,
- etc. to allow other (possible) copies of FD to take
- notice of the changes in the NetMail folder, this
- does, however, not cause a rescan on the machine that
- updated it.
-
- FMRESCAN.NOW Forces FM to rebuild its internal list of messages in
- the NetMail folder. This is only acted upon by FM if
- the user is in the primary NetMail folder.
-
- FDINSESS.nnn FD creates this file whenever a mail session is
- initiated, and when it is dialing a system,
- attempting to establish a mail session. If FM detects
- this file, it will not let you renumber the NetMail
- folder. "Nnn" is the task number (0-255). This is not
- supported in the noncommercial version.
-
-
-
-
-
-
-
-
-
-
-
- 6
-
-
-
-
-
- FDINEXIT.nnn FD creates this file whenever a human caller is
- detected and passed onto a BBS or other on-line
- service.
-
- When FD returns, it compares the timestamp of
- FDINEXIT.nnn with the timestamp of FDRESCAN.NOW, and
- if they do not match, a complete rescan (see
- FDRESCAN.NOW) is performed. "nnn" is the task number
- (0-255). In the noncommercial version, this file is
- not task aware, and is always called "FDINEXIT.NOW".
-
- FDNOUSER.NOW Forces FD to refuse human callers. This has the same
- effect as setting the "Human callers" option, under
- FD's "Your profile" menu, to "NO". The visual
- indicator for this semaphore file is "NU".
-
- FDNOSCAN.NOW Forces FD to ignore FDRESCAN.NOW.
-
- FDNOEXIT.NOW Prevents FD from exiting because of received mail.
- This has the same effect as setting the "Exit on
- mail" option, under FD's "Your profile" menu, to
- "NO". The visual indicator for this semaphore file is
- "NE".
-
- NODIAL.FD While this is not a semaphore file per se, it
- triggers the display of a visual indicator, "UD".
-
- FDEXIT.nnn Forces FD to UNconditionally exit with the errorlevel
- "nnn". Before FD exits, it removes the file.
-
- FDRENUM.nnn FM creates this file whenever you press <Alt-B> to
- renumber the NetMail folder. When FD detects this
- file, it will not place any outgoing calls until the
- file has been removed. This prevents FD from
- initiating an outbound session while FM is
- renumbering the contents of the NetMail folder. "nnn"
- is the task number (0-255). This is not available in
- the noncommercial version.
-
- ROUTE.FD While this is not a semaphore file per se, it is used
- to determine if the NetMail folder has to be
- rescanned (see FDRESCAN.NOW). If the timestamp of
- this file has changed since FD last checked it, a
- rescan is forced.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 7
-
-
-
-
-
- 13 Service requests
-
- When FrontDoor is processing a "Service Request" (please refer to the
- FrontDoor documentation for a description of Service Requests), it
- creates a file containing information about the remote system. The
- following structure is used:
-
- <RemoteInfo>
- <RemoteIDCount>
- <RemoteIDList>
-
- The <RemoteIDCount> field is a 16-bit unsigned integer containing the
- number of valid entries in the <RemoteIDList> field (the number of
- bytes written is constant). For a description of these structures,
- please refer to SREQ.H and SREQ.INC respectively.
-
- The name of the created file can be obtained from FrontDoor and
- passed on the command-line to the external application.
-
-
- 14 .MSG file format
-
- FrontDoor uses the Opus (1.03) convention for .MSG file formats. Ie.
- the binary date_arrived and date_created fields. If it can't
- successfully parse any of those fields, it will use the ASCIIZ date
- string.
-
-
- 15 The LOCAL bit
-
- FrontDoor requires that the LOCAL message attribute bit is set before
- it will send the message(s). If the LOCAL bit is missing, FrontDoor
- will not forward the message to its destination unless an appropriate
- forwarding instruction is found in its route file.
-
-
- 16 Packet format
-
- FrontDoor uses the FSC-39 packet header proposal when creating
- packets. When reading received packets, FrontDoor supports both the
- FSC-39 and FSC-45 ("Type 2.2") proposals.
-
-
- 17 Nodelist
-
- The FrontDoor nodelist structures have not been released as of yet.
-
-
- 18 Getting in touch
-
- Advanced Engineering sarlPhone+352 358725
- 8, am ForFax+352 355938
- L-5351 OetrangeModem+352 355936
- Luxembourg
-
- E-Mail: 2:270/17@fidonet, 2:270/7@fidonet, ae@fido.rmi.de
-
-
- 8
-
-
-