! ! WHO.CLD -- define the WHO command for DCL ! define type privs keyword all, negatable ! All possible privileges keyword cmkrnl, negatable keyword cmexec, negatable keyword sysnam, negatable keyword grpnam, negatable keyword allspool, negatable keyword detach, negatable keyword diagnose, negatable keyword log_io, negatable keyword group, negatable keyword acnt, negatable keyword prmceb, negatable keyword prmmbx, negatable keyword pswapm, negatable keyword altpri, negatable keyword setprv, negatable keyword tmpmbx, negatable keyword world, negatable keyword mount, negatable keyword oper, negatable keyword exquota, negatable keyword netmbx, negatable keyword volpro, negatable keyword phy_io, negatable keyword bugchk, negatable keyword prmgbl, negatable keyword sysgbl, negatable keyword pfnmap, negatable keyword shmem, negatable keyword sysprv, negatable keyword bypass, negatable keyword syslck, negatable keyword share, negatable keyword upgrade, negatable keyword downgrade, negatable keyword grpprv, negatable keyword readall, negatable keyword security, negatable define type cliflags keyword all, negatable ! All possible flags keyword disctly, negatable keyword defcli, negatable keyword lockpwd, negatable keyword captive, negatable keyword disuser, negatable keyword diswelcome, negatable keyword disnewmail, negatable keyword dismail, negatable keyword genpwd, negatable keyword pwd_expired, negatable keyword pwd2_expired, negatable keyword audit, negatable keyword disreport, negatable keyword disreconnect, negatable keyword autologin, negatable keyword disforce_pwd_change, negatable keyword restricted, negatable keyword disimage, negatable keyword dispwddic, negatable keyword dispwdhis, negatable define type coll_opts ! What can we collect? keyword privileges, value(type=privs,list,default="TMPMBX,NETMBX"),default keyword defprivileges,value(type=privs,list,default="TMPMBX,NETMBX"),default keyword flags, value(type=cliflags,list,default="DEFCLI"),default define type show_opts ! What we can output ( & width) keyword header, default keyword owner, value(type=$number,default=24), default keyword username, value(type=$number,default=12), default keyword uic, value(type=$number,default=11), default keyword account, value(type=$number,default=8), default keyword directory, value(type=$number,default=21), default keyword identifier, value(type=$number,default=14) keyword nodes, value(type=$number,default=12) keyword priority, value(type=$number,default=4) keyword quota, value(type=$number,default=6) keyword usage, value(type=$number,default=6) keyword lgicmd, value(type=$number,default=16) keyword defcli, value(type=$number,default=3) keyword clitables, value(type=$number,default=10) keyword logfails, value(type=$number,default=11) keyword pwdminimum, value(type=$number,default=10) keyword expiration, value(type=$number,default=23) keyword pwdlifetime, value(type=$number,default=8) keyword pwddate, value(type=$number,default=23) keyword pwd2date, value(type=$number,default=23) keyword lastlogin, value(type=$number,default=23) keyword lastnonint, value(type=$number,default=23) keyword quepri, value(type=$number,default=6) keyword maxjobs, value(type=$number,default=7) keyword maxdetach, value(type=$number,default=9) keyword prclm, value(type=$number,default=5) keyword biolm, value(type=$number,default=5) keyword diolm, value(type=$number,default=5) keyword tqelm, value(type=$number,default=5) keyword astlm, value(type=$number,default=5) keyword enqlm, value(type=$number,default=5) keyword fillm, value(type=$number,default=5) keyword wsquota, value(type=$number,default=7) keyword wsdefault, value(type=$number,default=9) keyword wsextent, value(type=$number,default=8) keyword pgflquota, value(type=$number,default=9) keyword bytlm, value(type=$number,default=6) keyword pbytlm, value(type=$number,default=6) keyword jtquota, value(type=$number,default=7) keyword costcenter, value(type=$number,default=11) keyword phone, value(type=$number,default=12) keyword mailstop, value(type=$number,default=9) keyword employee, value(type=$number,default=8) keyword flags, value(type=$number,default=12) keyword privileges, value(type=$number,default=16) keyword defprivileges,value(type=$number,default=16) keyword manager, value(type=$number,default=25) keyword class, value(type=$number,default=12) keyword network_access,value(type=$number,default=9) keyword batch_access, value(type=$number,default=9) keyword local_access, value(type=$number,default=9) keyword dialup_access,value(type=$number,default=9) keyword remote_access,value(type=$number,default=9) keyword primedays, value(type=$number,default=20) define verb who ! Define the WHO command image "XCC_EXE:WHO.EXE" parameter P1, ! What should be processed label=userlist, prompt="Who", value(required,list,type=$quoted_string) qualifier output, ! Where output should go negatable, default, placement=global, value(type=$outfile,default="SYS$OUTPUT") qualifier symbol, ! Place output in symbol? negatable, placement=global, value(default="WHO_RECORD") ! Name of symbol to use qualifier show, ! What should be shown nonnegatable, default, placement=global, value(type=show_opts,list) qualifier full, ! Full-screen output negatable, placement=global qualifier filter, ! What should be smashed nonnegatable, placement=global, value(type=coll_opts,list) qualifier statistics, ! Output runtime stats? negatable, placement=global qualifier database, ! Search another database? nonnegatable, placement=global, value(required,type=$infile) disallow (show and full) ! One output format only disallow (symbol and full) ! This doesn't make sense ! disallow not (symbol or output) ! Output must be generated