.title QUALIFIER What is this qualifier value? .ident /V1.00/ .sbttl Documentation ; ; This subroutine will determine whether a qualifier is ; present or not, and will determine whether it is a ; negated qualifier. all missing qualifiers are assumed ; to be FALSE. Any unexpected error will be signalled ; via LIB$SIGNAL ; ; Used for the IAF (AUTH_ID) package ; ; Eric F. Richards ; 23-Apr-86 ; Gould OSD VAXcluster VMS V4.2 ; .sbttl Macros, constants and other stuff .enable suppression ; clean up the listings .disable traceback, debug ; hands off w/ debugger $ssdef ; define system service codes $climsgdef ; Define CLI message codes numargs = 1 ; only 1 argument qualnam = 4 ; the qualifier name .sbttl Main code .psect $code, long, exe, nowrt, pic, shr .entry QUALIFIER, 0 ; entry point, no regs saved cmpb (ap), #numargs ; did we get enough args? bgequ 10$ ; if so, skip error handler movzwl #ss$_insfarg, r0 ; else set error status ret ; and return 10$: pushl qualnam(ap) ; pass the qualifier on to the CLI calls #1, g^cli$present ; and find out if it's there cmpl #cli$_present, r0 ; is it there? beql dotrue ; set as true cmpl #cli$_locpres, r0 ; is it there locally? beql dotrue ; set as true cmpl #cli$_absent, r0 ; is it missing beql dofalse ; set as false cmpl #cli$_negated, r0 ; is it there, w/ NO prefix? beql dofalse ; set as false cmpl #cli$_defaulted, r0 ; is it defaulted? beql dofalse ; set as false cmpl #cli$_locneg, r0 ; is it negated locally? beql dofalse ; set as false pushl r0 ; unexpected status: signal it calls #1, g^lib$signal ; ... and return w/ false status dofalse: clrl r0 ; set false status ret ; go back to caller dotrue: mnegl #1, r0 ; set true status ret ; go back to caller .end ; all done!