!
! use the following two routines only if you must!
!
! Status values are to be found in Imp_Include:CLIMSG.Inc
record format desc fm (integer len, addr)
external integer function spec Cli Present a alias "CLI$PRESENT" C
(record (desc fm)name label)
external integer function spec Cli Value a alias "CLI$GET_VALUE" C
(record (desc fm)name label, value,
shortname reslen)
external integer fn spec stoi alias "IMP_S_TO_I" (string (127) value)
!
external integer function Cli Present ( string (63) Label )
record (desc fm) lab
lab_len = length(label); lab_addr = addr(label)+1
result = CLI Present a(lab)
end
external integer function Cli Value ( string (63) Label,
string (*) name V )
integer i
short reslen
record (desc fm) lab, res
lab_len = length(label); lab_addr = addr(label)+1
res_len = 127 ; res_addr = addr(v)+1
i = cli value a(lab, res, reslen)
length(v) <- reslen
result = i
end
external routine spec Cli End Parse alias "CLI$END_PARSE"
!
! Normally, programs will use the following:
!
external predicate Qualifier Present alias "IMP_QUALIFIER_PRESENT" c
( string (63) Label )
integer j
j = CLI Present(label)
true if J = 16_3fd19 {Explicit} or j = 16_3FD21 {DEFAULT}
false
end
external integer function Qualifier I alias "IMP_QUALIFIER_I" c
( string (63) Label )
string (127) v
integer i
i = cli value(label,v)
result = stoi(v) if i = 1
result = 0
end
external string (127) function Qualifier S alias "IMP_QUALIFIER_S" c
( string (63) Label )
string (127) v
integer i
i = cli value(label,v)
result = v if i = 1
result = ""
end
external long real function Qualifier R alias "IMP_QUALIFIER_R" c
( string (63) Label )
result = 0.0
end
endoffile