home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
GEMini Atari
/
GEMini_Atari_CD-ROM_Walnut_Creek_December_1993.iso
/
zip
/
other
/
cal63.lzh
/
CAL63
/
CAL63FMT.TXT
< prev
next >
Wrap
Text File
|
1993-07-30
|
4KB
|
84 lines
Cal 6.3 Data File Format
------------------------
The Cal database format has changed slightly in v6.3 to allow for multiple
weekdays in a single positional event and new holiday/skip holiday flags.
A Cal 6.3 data file begins with a 16-byte header defined as follows:
1 long Cal format identifier, always 'ca63' for Cal 6.3
1 long size of message area in bytes, 20000 for Cal 6.3
1 word maximum number of messages in index, 511 in Cal 6.3
1 word actual number of messages currently in index
1 long offset from start of 1st message to 1st unused byte in database
Following this header is an exact copy of the embedded event data as it
existed when the data file was written. This area contains one entry for
each event in the database. Each entry will be an even number of bytes,
from 24 to 120 bytes inclusive, in length, and is defined as follows:
SIZE OFFSET USAGE
------ ------ -------
1 word 00 offset to start of next entry
1 byte 02 date (range 1..31, or 0 if positional or cyclic event)
1 byte 03 days notice for this event (0..99)
1 word 04 month bitflags, one bit set for each month scheduled
bits 1..12 are used for Jan..Dec, NOT bits 0..11!
if this is a cyclic event, bitflag is ZERO!!!
1 word for a date event:
06 1 word year for 1-time date event (0 for recurring)
for a positional event:
06 1 byte week position (0..4 = week 1-5, 5=last, 6=each)
07 1 byte weekday bit flags:
bit 6 CLEAR = Sunday
bit 5 CLEAR = Monday
...
bit 0 CLEAR = Saturday
bits SET = event DOESN'T occur that weekday
multiple weekdays are accepted in one event
for a cyclic event:
06 1 byte bit 0 set = this is a holiday
bit 1 set = skip this event on holidays
07 1 byte reserved
1 byte 08 importance (0..9, 9 = most important)
1 byte 09 HotWire alarm slot (0..16)
1 word 10 HotWire alarm time - 0 if not an alarm
10 1 byte hour (0..23)
11 1 byte minute (0..59)
1 word for a cyclic event:
12 1 word cyclic event start year (1..9999)
for a date or positional event:
12 1 byte bit 0 set = this is a holiday
bit 1 set = skip this event on holidays
13 1 byte reserved
1 word 14 cyclic event end year (1..9999)
1 byte 16 cyclic event start month (1..12)
1 byte 17 cyclic event end month (1..12)
1 byte 18 cyclic event start date (1..31)
1 byte 19 cyclic event end date (1..31)
1 byte 20 cyclic event period (1..255)
1 byte 21 number of extended msgs (i.e., not counting the first)
this will be zero if there is only one message
? bytes 22 main msg - 35 bytes max (including terminating null)
? bytes ? optional 2nd msg- 35 bytes max including terminating null
? bytes ? optional 3rd msg- 35 bytes max including terminating null
? byte ? optional extra zero byte to assure next event starts
on an even word boundary
This information is provided for those who wish to transfer Cal data
to or from another program or platform. If you have any questions
regarding Cal data files, please contact me at one of the addresses
below.
Bill Aycock
May 31, 1992
Compuserve: 76703,4061
Internet: 76703.4061@compuserve.com