Enscribe Programmer's Guide
Note that each partition must reside on a separate disk volume. Within those volumes, however,
the partitions all have the same subvolume name and file name (SVOL1.TRANFILE in this example).
All four partitions are created at the same time.
When all 16 extents of the primary partition (#0) have been entirely used, the file system
automatically begins using partition #1; when all 16 extents of that partition have been entirely
used, the file system then begins using partition #2; and so forth.
Using the FILE_CREATELIST_ system procedure, you could create the file by including this TAL code
in one of your application modules:
LITERAL name^length = 22,
num^partitions = 3,
item^list^len = 9;
INT error;
INT error2;
INT namelen;
STRING .filename [0:name^length-1] :=
"$STORE1.SVOL1.TRANFILE";
INT .item^list [0:item^list^len-1];
STRUCT value^list;
BEGIN
INT file^type;
INT logical^reclen;
INT block^length; INT pri^extent;
INT sec^extent;
INT partitions;
STRUCT part^info [0:num^partitions-1];
BEGIN
INT part^pri^extent;
INT part^sec^extent;
END;
STRUCT vol^name^len [0:num^partitions-1];
BEGIN
INT vol^name^act^len;
END;
STRING vol^names [0:21];
END;
?NOLIST
?SOURCE $SYSTEM.ZSYSDEFS.ZSYSTAL(FILESYSTEM^ITEMCODES)
?SOURCE $SYSTEM.SYSTEM.EXTDECS0(FILE_CLOSE_,
? FILE_OPEN_,
? FILE_CREATELIST_,
? READ)
?LIST
PROC DO^THE^WORK MAIN;
BEGIN
namelen := name^length;
item^list ':=' [ZSYS^VAL^FCREAT^FILETYPE,
ZSYS^VAL^FCREAT^LOGICALRECLEN,
ZSYS^VAL^FCREAT^BLOCKLEN,
ZSYS^VAL^FCREAT^PRIMEXTENTSIZE,
ZSYS^VAL^FCREAT^SCNDEXTENTSIZE,
ZSYS^VAL^FCREAT^NUMPRTNS,
ZSYS^VAL^FCREAT^PRTNDESC,
ZSYS^VAL^FCREAT^PRTNVOLLEN,
ZSYS^VAL^FCREAT^PRTNVOLNAMES];
value^list.file^type := 2; ! entry-sequenced
value^list.logical^reclen := 60;
130 Entry-Sequenced Files