From 624075d37be95bfa4e5fd903a3b63168c481665a Mon Sep 17 00:00:00 2001 From: Sebastian Date: Thu, 5 Jun 2014 01:05:52 +0200 Subject: [PATCH] docs: message base and internal data formats --- docs/data.txt | 59 ++++++++++++++++++++++++++++++++++++++++++++++++ docs/msgbase.txt | 27 ++++++++++++++++++++++ 2 files changed, 86 insertions(+) create mode 100644 docs/data.txt create mode 100644 docs/msgbase.txt diff --git a/docs/data.txt b/docs/data.txt new file mode 100644 index 0000000..adef182 --- /dev/null +++ b/docs/data.txt @@ -0,0 +1,59 @@ +DATA FORMAT DESCRIPTION +======================= + +PACKET - "the Packet Header" (FTS-0001, F.1) +-------------------------------------------- +$packet = { + 'from' => [ zone, net, node, point ], + 'to' => [ zone, net, node, point ], + 'date' => [ year, month, day ], + 'time' => [ hour, minute, second ], + 'type' => string # 'FTS-0001' or 'FSC-0048' + 'product' => integer, + 'revision' => string, +}; + +ATTRIBUTE WORD (FTS-0001, B.1) +------------------------------ +$attr = { + 'state' => integer, # 0: local, 1: received, 2: sent + 'transfer' => integer, # 0: default, 1: crash, 2: hold + 'file' => integer, # 0: none, 1: file attached, + # 2: file request, 3: update request +}; + +MESSAGE - "Packed Message" (FTS-0001, C.1) +------------------------------------------ +$message = { + 'fname' => "John Sender", + 'tname' => "Joe Receiver", + 'subj' => "Subject", # original encoding + 'body' => "Body", # original encoding + 'from' => [ zone, net, node, point ], + 'to' => [ zone, net, node, point ], + 'date' => [ year, month, day ], + 'time' => [ hour, minute, second], + 'packet' => { see packet }, + 'attr' => { see attr }, +}; + +MAIL - Stored in Message Base +----------------------------- +$mail = { + 'area' => "MYAREA", # ECHOMAIL only + 'fname' => "John Sender", # + 'tname' => "Joe Receiver", # + 'subj' => "Subject", # UTF8 + 'body' => "Body", # UTF8 + 'msgid' => "a:b/c.d something", # must be unique + 'reply' => "a:e/f.g oldsomething", + 'from' => [ zone, net, node, point ], # + 'to' => [ zone, net, node, point ], # NETMAIL only + 'date' => [ year, month, day ], # + 'time' => [ hour, minute, second ], # + 'path' => [ [net,node], ... ], # ECHOMAIL only + 'seen' => [ [net,node], ... ], # ECHOMAIL only + 'packet' => { see packet }, + 'attr' => { see attr }, +}; + diff --git a/docs/msgbase.txt b/docs/msgbase.txt new file mode 100644 index 0000000..618660c --- /dev/null +++ b/docs/msgbase.txt @@ -0,0 +1,27 @@ +Message Base Format +=================== + +For access functions, see modules/MSGBASE.pm + +SQLite: Each AREA is saved in a file AREANAME.area, with a single + table named AREANAME, with dots replaced by underscores. + +AREANAME +-------- +id - integer, primary key +from - text - convert MISC::fido2text +fname - text +to - text - convert MISC::fido2text +tname - text +date - text - convert MISC::date2text +time - text - convert MISC::time2text +subj - text +body - text +msgid - text +reply - text +path - text - convert MISC::netnodelist2text +seen - text - convert MISC::netnodelist2text +state - integer +transfer- integer +file - integer + -- 2.30.2