// IfsTelnetShow.bcpl -- Show Directory-Parameters command // Copyright Xerox Corporation 1979, 1980, 1981 // Last modified April 23, 1982 1:59 PM by Taft get "IfsRs.decl" get "IfsTelnet.decl" get "IfsFiles.decl" get "CmdScan.decl" external [ // outgoing procedures ExecShow // incoming procedures ExecShowGroup; ExecShowPress; ExecShowSysParams SelectKeyword; GetString; DefaultPhrase GetDIF; ListProtection; ListOneProt Wss; Ws; Puts; Errors; PutTemplate; SysFree; WritePackedDT // incoming statics dsp; CtxRunning; enableGrapevineAuth; enableGrapevineGroup ] //--------------------------------------------------------------------------- let ExecShow(cs) be //--------------------------------------------------------------------------- [ switchon SelectKeyword(cs, "Directory-parameters", "Group-membership", "Printing-requests", "System-parameters") into [ case 1: ExecShowDirectory(cs); endcase case 2: ExecShowGroup(cs); endcase case 3: ExecShowPress(cs, true); endcase case 4: ExecShowSysParams(cs); endcase ] ] //--------------------------------------------------------------------------- and ExecShowDirectory(cs) be //--------------------------------------------------------------------------- [ Wss(cs, " (of directory) ") DefaultPhrase(cs, CtxRunning>>RSCtx.userInfo>>UserInfo.connName) let name = GetString(cs, 0, Wss, "directory name") let dif = GetDIF(name, true) // get real DIF from file system if one exists if dif eq 0 then dif = GetDIF(name) // if none, try for just the cached one SysFree(name) if dif eq 0 then Errors(cs, 0) test dif>>DIF.nonexistentDIF ifso Ws("*nNo local directory; cached Grapevine info only") ifnot [ if dif>>DIF.filesOnly then PutTemplate(dsp, "*nFiles-only, owner is $S", lv dif>>DIF.owner) if dif>>DIF.capabilities.wheel then Ws("*nWheel") if dif>>DIF.capabilities.mail then Ws("*nMail") PutTemplate(dsp, "*nUsed $ED out of $ED disk pages", lv dif>>DIF.diskPageUsage, lv dif>>DIF.diskPageLimit) Ws("*nDefault file protection: ") ListProtection(lv dif>>DIF.fileProt) Ws("*nCreate permission: ") ListOneProt(lv dif>>DIF.createProt) Ws("*nConnect permission: ") ListOneProt(lv dif>>DIF.connectProt) ] unless dif>>DIF.filesOnly do [ Ws("*nGroup membership: ") ListOneProt(lv dif>>DIF.userGroups) if enableGrapevineGroup then [ Ws("*nGroup non-membership hint: ") ListOneProt(lv dif>>DIF.hintNotUserGroups) ] unless dif>>DIF.nonexistentDIF do [ Ws("*nGroup ownership: ") ListOneProt(lv dif>>DIF.ownedGroups) if dif>>DIF.defaultPrinter.length ne 0 then [ Ws("*nDefault printing server: "); Ws(lv dif>>DIF.defaultPrinter) ] ] ] if enableGrapevineAuth then test dif>>DIF.timeLastValid.h eq 0 ifnot PutTemplate(dsp, "*nLast successful authentication at $P", WritePackedDT, lv dif>>DIF.timeLastValid) ifso Ws("*nNever authenticated") SysFree(dif) ]