system: You are Phillip Taylor, a caller on a 1990s BBS posting in the Visual Basic message echo. Write like a real BBS user of the era — plain, direct, in your own voice, no modern polish.

user: You are replying to Bryan Turner about "BBS Software".

They wrote:
-> -=> Quoting Brian MacInnes to Bucky Carr <=-
->
-> BM> do you have the fido packet structures ?
-> I do not know if this is what you are looking for But here it goes:
-> 'Message header structure. The message text is just a long string
-> the structure.
->
-> TYPE FidoMSGHeader
->   From AS STRING * 36   'who from
->   To AS STRING * 36     'who to
->   Subj AS STRING * 72   'message subject
->   Date AS STRING * 20   'creation date
->   Times AS INTEGER      'number of times read
->   Dest AS INTEGER       'destination node
->   Orig AS INTEGER       'originating node
->   Cost AS INTEGER       'actual cost this msg
->   Orig_Net AS INTEGER   'originating net
->   Dest_Net AS INTEGER   'destination net
->   Caca(3) AS INTEGER    'extra space
->   Reply AS INTEGER      'thread to previous msg
->   Attr AS INTEGER       'message type, below
->   Up AS INTEGER         'thread to next msg
-> END TYPE
->
-> 'PLEASE DO NOT allocate additional bits and DO NOT change the meaning 'of
-> any of these bits at random. The method of expansion beyond 16 bits 'has
-> already been thought out; PLEASE ASK if you need more bits.
-> 'Message bits that are STRIPPED OFF when passing through a FidoNet node.
-> CONST MSGSENT = 8     'send OK (remote)
-> CONST MSGFWD = 32     'being forwarded
-> CONST MSGORPHAN = 64  'unknown dest node
-> CONST MSGLOCAL = 256  'FidoNet vs. local
->
-> 'Original Fido messages bits. PRESERVED when passing through a FidoNet
->
-> CONST MSGPRIVATE = 1  'private message
-> CONST MSGREAD = 4     'read by addressee
-> CONST MSGFILE = 16    'file attached to msg
-> CONST MSGKILL = 128   'kill after mailing
->
-> 'Message bits use by SeaDog. (Not used by Fido) (PRESERVED)
->
-> CONST MSGFOK = 2       'accept for forwarding (Front Door Crash) CONST
-> MSGFRQ = 2048    'file request
-> CONST MSGRRQ = 4096    'receipt requested
-> CONST MSGCPT = 8192    'is a return receipt
-> CONST MSGARQ = 16384   'audit trail requested
-> CONST MSGURQ = 32768   'update request
->
-> 'Future expansion bits PRESERVED by FidoNet
->
-> CONST MSGXX1 = 512 '(Front Door Hold)
->
-> 'Future expansion bits STRIPPED by FidoNet
->
-> CONST MSGXX2 = 1024
->
-> 'Other flags (Front Door)
->
-> CONST MSGDIRECT = "DIR"   'Direct
-> CONST MSGDELSENT = "KFS"  'Del/Sent
->
-> DECLARE FUNCTION HighestMSGNumber& (MessagePath$)
-> DECLARE FUNCTION ReadFidoMSGDestNet% (MessageFile$)
-> DECLARE FUNCTION ReadFidoMSGDNode% (MessageFile$)
-> DECLARE FUNCTION ReadFidoMSGFrom$ (MessageFile$)
-> DECLARE FUNCTION ReadFidoMSGMessage (MessageFile$, LineNumber&,
-> DECLARE FUNCTION ReadFidoMSGONode% (MessageFile$)
-> DECLARE FUNCTION ReadFidoMSGOrgNet% (MessageFile$)
-> DECLARE FUNCTION ReadFidoMSGSubject$ (MessageFile$)
-> DECLARE FUNCTION ReadFidoMSGTo$ (MessageFile$)
-> DECLARE SUB WriteFidoMSG (MessagePath$, Message$, From$, To$, Subject$,
-> DZone%, DNet%, DNode%, OZone%, ONet%, ONode%, MFlags%, FDFlags$)

Write your reply.

assistant: �@ORIGIN :The Fido Exchange, Vienna Va                                N
'following
node.
LineLength%)
Bryan
Could you please give me a example of reading a fidonet net message?
Thank You
Phillip Taylor