2.4 KiB
External dependencies in copied format units
Authoritative specs
The FTSC document collection at /home/ken/Source Code/ftsc/docs/ is the
source of truth when validating attribute bits, packet header layouts,
date strings, and kludge syntax. Key documents we cross-check against:
fts-0001.016— FTS-1 packet & message format (PKT, *.MSG, attributes, date string, kludges)fsc-0039.001/fsc-0039.004— Type-2+ packet headerfsc-0045.001— Type-2.2 packet headerfsc-0048.002— AuxNet Type-2 variantfsc-0009,fsc-0035etc. — kludges and control lines
When in doubt about an encoding or bit position, reference the spec
before changing the conversion tables in ma.types.pas.
These references were inherited from the Allfix tree and need to be resolved during the format-by-format refactor pass.
ma.fmt.pkt.pas
Currently uses: msgunit, netaddrs, aftypes.
Needs from msgunit:
PktHeader— 58-byte FTN packet header recordPktRecord— per-message header record inside a packetPacketRecord— high-level parsed message with kludges, address parts, flavours, etc.FlavourType,FlavourTypeSet,DateTimeArray
Plan:
- Move
PktHeader+PktRecordintoma.fmt.pkt.pasitself (packet-only). - Move
PacketRecord,FlavourType,FlavourTypeSet,DateTimeArrayintoma.types.passo other backends can use them where needed. - Drop the
msgunit/netaddrs/aftypesusesclauses.
ma.fmt.wildcat.pas + ma.fmt.wcutil.pas
Use the WildCat 4 SDK. The SDK source has been copied verbatim into
src/wc_sdk/ (formerly wc_dev/ in Allfix) so this repo can build the
Wildcat backend without external paths.
The SDK pulls in OS/2-era helpers (Os2Comp, DosUtil, p_System,
btisbase, isamtool, …). Keeping it on its own search-path entry
(-Fusrc/wc_sdk) means callers that don't need Wildcat can omit the
backend without forcing the SDK onto the build line.
include.inc
Allfix sources start with {$I include.inc}. Our copied units no longer
have that on the search path (we deliberately want the new lib to be
self-contained). Plan during refactor:
- Replace each
{$I include.inc}with explicit{$mode objfpc}{$H+}plus any other compiler switches the unit actually needs (most don't need more than mode +$H+). - Drop
WILDCAT4,EXECSWAP,UNIand other Allfix-specific defines.