Enscribe Programmer's Guide
INT error;
INT error2;
INT namelen;
STRING .filename [0:name^length-1] := "$PART1.SVOL1.EMPFILE";
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:18];
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 := 1; ! relative
value^list.logical^reclen := 112;
value^list.block^length := 4096;
value^list.pri^extent := 60;
value^list.sec^extent := 30;
value^list.partitions := 3;
value^list.part^info[0].part^pri^extent := 60;
value^list.part^info[0].part^sec^extent := 30;
value^list.part^info[1].part^pri^extent := 60;
value^list.part^info[1].part^sec^extent := 30;
value^list.part^info[2].part^pri^extent := 60;
value^list.part^info[2].part^sec^extent := 30;
value^list.vol^name^len.vol^name^act^len[0] := 6;
value^list.vol^name^len.vol^name^act^len[1] := 6;
value^list.vol^name^len.vol^name^act^len[2] := 6;
value^list.vol^names ':=' "$PART2$PART3$PART4";
error := FILE_CREATELIST_ (filename:name^length,namelen,
Creating Relative Files 143