Guardian Programmer's Guide

Table Of Contents
Using DEFINEs
Guardian Programmer’s Guide 421922-014
7 - 28
Using DEFINEs: An Example
!------------------------------------------------------------
! Procedure to prompt the user for all attributes for a CLASS
! TAPE DEFINE.
!------------------------------------------------------------
PROC SET^TAPE;
BEGIN
STRING .VALUES^LIST[0:BUFSIZE - 1];
STRING .NAME[0:15];
NAME ':=' "CLASS ";
VALUES^LIST ':=' "Must be TAPE" -> @S^PTR;
CALL DEFINE^ATTR(NAME,VALUES^LIST,
@S^PTR '-' @VALUES^LIST);
NAME ':=' "BLOCKLEN ";
VALUES^LIST ':=' "Any valid block length" -> @S^PTR;
CALL DEFINE^ATTR(NAME,VALUES^LIST,
@S^PTR '-' @VALUES^LIST);
NAME ':=' "DENSITY ";
VALUES^LIST ':=' "800, 1600, or 6250 bpi" -> @S^PTR;
CALL DEFINE^ATTR(NAME,VALUES^LIST,
@S^PTR '-' @VALUES^LIST);
NAME ':=' "DEVICE ";
VALUES^LIST ':=' "A valid tape device name" -> @S^PTR;
CALL DEFINE^ATTR(NAME,VALUES^LIST,
@S^PTR '-' @VALUES^LIST);
NAME ':=' "EBCDIC ";
VALUES^LIST ':=' "IN, OUT, ON, or OFF" -> @S^PTR;
CALL DEFINE^ATTR(NAME,VALUES^LIST,
@S^PTR '-' @VALUES^LIST);
NAME ':=' "EXPIRATION ";
VALUES^LIST ':='
"Any valid date (month day year)" -> @S^PTR;
CALL DEFINE^ATTR(NAME,VALUES^LIST,
@S^PTR '-' @VALUES^LIST);
NAME ':=' "FILEID ";
VALUES^LIST ':=' "Any valid tape file name" -> @S^PTR;
CALL DEFINE^ATTR(NAME,VALUES^LIST,
@S^PTR '-' @VALUES^LIST);
NAME ':=' "FILESECT ";
VALUES^LIST ':=' "A number in the range 0001 through 9999"
-> @S^PTR;
CALL DEFINE^ATTR(NAME,VALUES^LIST,
@S^PTR '-' @VALUES^LIST);