SELECT type: *
FROM
LogFileInfo => [
-- change this name each time the format changes
key: REF TEXT ← NIL,
internalFileID: INT,
logSeqNo: INT
],
CreateMsg => [
msg: REF TEXT ← NIL,
date: BasicTime.GMT ← BasicTime.nullGMT,
show: BOOL, -- to distinguish new grapevine mail
sender, subject, to: ROPE ← NIL,
entryStart: INT← 0, -- the position of the entry in the log
textOffset: INT← 0, -- the offset of the first char of the message header
textLen: INT, -- the length of the text (chars)
formatLen: INT, -- the length of the formatting information
headersLen: INT -- the length of the headers information
],
ExpungeMsgs => NULL,
WriteExpungeLog => [internalFileID: INT],
CreateMsgSet => [ msgSet: REF TEXT ← NIL],
DestroyMsgSet => [ msgSet: REF TEXT ← NIL],
EmptyMsgSet => [msgSet: REF TEXT ← NIL],
HasBeenRead => [msg: REF TEXT ← NIL],
AddMsg => [ msg: REF TEXT ← NIL, to: REF TEXT ← NIL],
RemoveMsg => [ msg: REF TEXT ← NIL, from: REF TEXT ← NIL],
MoveMsg => [
msg: REF TEXT ← NIL,
from: REF TEXT ← NIL,
to: REF TEXT ← NIL
],
RecordNewMailInfo => [
logLen: INT,
when: BasicTime.GMT,
server: REF TEXT ← NIL,
num: INT],
StartCopyNewMail => NULL,
EndCopyNewMailInfo => [ startCopyPos: INT],
AcceptNewMail => NULL,
StartReadArchiveFile => [ file: REF TEXT ← NIL, msgSet: REF TEXT ← NIL],
EndReadArchiveFile => NULL,
StartCopyReadArchive => NULL,
EndCopyReadArchiveInfo => [ startCopyPos: INT],
ENDCASE ];