Enscribe Programmer's Guide
INT .item^list [0:item^list^len-1];
STRUCT value^list;
BEGIN
INT file^type;
INT file^code;
INT rec^len;
INT block^len;
INT key^offset;
INT key^length;
INT pri^extent;
INT sec^extent;
INT altkeys;
STRUCT altkey^descr [0:num^altkeys-1];
BEGIN
STRING key^specifier [0:1];
INT key^length;
INT key^offset;
INT key^filenum;
INT null^value;
INT attributes;
END;
INT num^alt^key^files;
STRUCT name^length^info [0:num^altkey^files-1];
BEGIN
INT file^name^len;
END;
STRING file^names [0:5];
END;
namelen := name^length;
item^list ':=' [ZSYS^VAL^FCREAT^FILETYPE,
ZSYS^VAL^FCREAT^FILECODE,
ZSYS^VAL^FCREAT^LOGICALRECLEN,
ZSYS^VAL^FCREAT^BLOCKLEN,
ZSYS^VAL^FCREAT^KEYOFFSET,
ZSYS^VAL^FCREAT^KEYLEN,
ZSYS^VAL^FCREAT^PRIMEXTENTSIZE,
ZSYS^VAL^FCREAT^SCNDEXTENTSIZE,
ZSYS^VAL^FCREAT^NUMALTKEYS,
ZSYS^VAL^FCREAT^ALTKEYDESC,
ZSYS^VAL^FCREAT^NUMALTKEYFILES,
ZSYS^VAL^FCREAT^ALTFILELEN,
ZSYS^VAL^FCREAT^ALTFILENAMES ];
value^list.file^type := 3; ! key-sequenced
value^list.file^code := 1001;
value^list.rec^len := 54;
value^list.block^len := 4096;
value^list.key^offset := 0;
value^list.key^length := 2;
value^list.pri^extent := 32;
value^list.sec^extent := 8;
value^list.altkeys := num^altkeys;
value^list.altkey^descr[0].key^specifier ':=' "LO";
value^list.altkey^descr[0].key^length := 4;
value^list.altkey^descr[0].key^offset := 42;
value^list.altkey^descr[0].key^filenum := 0;
value^list.altkey^descr[0].null^value := 0;
value^list.altkey^descr[0].attributes := 0;
value^list.altkey^descr[1].key^specifier ':=' "VN";
value^list.altkey^descr[1].key^length := 8;
value^list.altkey^descr[1].key^offset := 46;
value^list.altkey^descr[1].key^filenum := 0;
Creating Key-Sequenced Files 79