home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!cs.utexas.edu!swrinde!network.ucsd.edu!mvb.saic.com!vmsnet-sources
- From: tanner@cerritos.edu
- Newsgroups: vmsnet.sources
- Subject: DWProfile V3.3, part 01/06
- Message-ID: <9908573@MVB.SAIC.COM>
- Date: Mon, 04 Jan 1993 20:46:16 GMT
- Organization: Cerritos College, Norwalk CA
- Lines: 1551
- Approved: Mark.Berryman@Mvb.Saic.Com
-
- Submitted-by: tanner@cerritos.edu
- Posting-number: Volume 4, Issue 26
- Archive-name: dwprofile/part01
-
- DWProfile is a DECwindows Motif application that creates, modifies and
- deletes UAF records. It will perform most of the functions of AUTHORIZE
- and will also automatically create, move and delete directories.
- --
- Bruce Tanner (310) 860-2451 x 596 Tanner@Cerritos.EDU
- Cerritos College Norwalk, CA DoD #0161 NOMAD #007
-
- $! ------------------ CUT HERE -----------------------
- $ v='f$verify(f$trnlnm("SHARE_VERIFY"))'
- $!
- $! This archive created by VMS_SHARE Version 7.2-007 22-FEB-1990
- $! On 18-DEC-1992 13:25:24.51 By user TANNER
- $!
- $! This VMS_SHARE Written by:
- $! Andy Harper, Kings College London UK
- $!
- $! Acknowledgements to:
- $! James Gray - Original VMS_SHARE
- $! Michael Bednarek - Original Concept and implementation
- $!
- $!+ THIS PACKAGE DISTRIBUTED IN 6 PARTS, TO KEEP EACH PART
- $! BELOW 100 BLOCKS
- $!
- $! TO UNPACK THIS SHARE FILE, CONCATENATE ALL PARTS IN ORDER
- $! AND EXECUTE AS A COMMAND PROCEDURE ( @name )
- $!
- $! THE FOLLOWING FILE(S) WILL BE CREATED AFTER UNPACKING:
- $! 1. AAAREADME.TXT;44
- $! 2. ABSTRACT.TXT;1
- $! 3. ACCESS.UIL;39
- $! 4. BUTTONS.UIL;79
- $! 5. DELTREE.COM;4
- $! 6. DESCRIP.MMS;39
- $! 7. DWPDEF.H;49
- $! 8. DWPROFILE.C;445
- $! 9. DWPROFILE.DAT;91
- $! 10. DWPROFILE.HLP;21
- $! 11. DWPROFILE.UIL;44
- $! 12. FLAGS.UIL;51
- $! 13. IDENTS.UIL;33
- $! 14. MOTIF.OPT;3
- $! 15. MOVE_DIRECTORY.COM;10
- $! 16. PRIVS.UIL;61
- $! 17. QUOTAS.UIL;16
- $! 18. RESETOWNER.COM;19
- $! 19. TEXT.UIL;25
- $!
- $set="set"
- $set symbol/scope=(nolocal,noglobal)
- $f=f$parse("SHARE_TEMP","SYS$SCRATCH:.TMP_"+f$getjpi("","PID"))
- $e="write sys$error ""%UNPACK"", "
- $w="write sys$output ""%UNPACK"", "
- $ if f$trnlnm("SHARE_LOG") then $ w = "!"
- $ ve=f$getsyi("version")
- $ if ve-f$extract(0,1,ve) .ges. "4.4" then $ goto START
- $ e "-E-OLDVER, Must run at least VMS 4.4"
- $ v=f$verify(v)
- $ exit 44
- $UNPACK: SUBROUTINE ! P1=filename, P2=checksum
- $ if f$search(P1) .eqs. "" then $ goto file_absent
- $ e "-W-EXISTS, File ''P1' exists. Skipped."
- $ delete 'f'*
- $ exit
- $file_absent:
- $ if f$parse(P1) .nes. "" then $ goto dirok
- $ dn=f$parse(P1,,,"DIRECTORY")
- $ w "-I-CREDIR, Creating directory ''dn'."
- $ create/dir 'dn'
- $ if $status then $ goto dirok
- $ e "-E-CREDIRFAIL, Unable to create ''dn'. File skipped."
- $ delete 'f'*
- $ exit
- $dirok:
- $ w "-I-PROCESS, Processing file ''P1'."
- $ if .not. f$verify() then $ define/user sys$output nl:
- $ EDIT/TPU/NOSEC/NODIS/COM=SYS$INPUT 'f'/OUT='P1'
- PROCEDURE Unpacker ON_ERROR ENDON_ERROR;SET(FACILITY_NAME,"UNPACK");SET(
- SUCCESS,OFF);SET(INFORMATIONAL,OFF);f:=GET_INFO(COMMAND_LINE,"file_name");b:=
- CREATE_BUFFER(f,f);p:=SPAN(" ")@r&LINE_END;POSITION(BEGINNING_OF(b));
- LOOP EXITIF SEARCH(p,FORWARD)=0;POSITION(r);ERASE(r);ENDLOOP;POSITION(
- BEGINNING_OF(b));g:=0;LOOP EXITIF MARK(NONE)=END_OF(b);x:=ERASE_CHARACTER(1);
- IF g=0 THEN IF x="X" THEN MOVE_VERTICAL(1);ENDIF;IF x="V" THEN APPEND_LINE;
- MOVE_HORIZONTAL(-CURRENT_OFFSET);MOVE_VERTICAL(1);ENDIF;IF x="+" THEN g:=1;
- ERASE_LINE;ENDIF;ELSE IF x="-" THEN IF INDEX(CURRENT_LINE,"+-+-+-+-+-+-+-+")=
- 1 THEN g:=0;ENDIF;ENDIF;ERASE_LINE;ENDIF;ENDLOOP;t:="0123456789ABCDEF";
- POSITION(BEGINNING_OF(b));LOOP r:=SEARCH("`",FORWARD);EXITIF r=0;POSITION(r);
- ERASE(r);x1:=INDEX(t,ERASE_CHARACTER(1))-1;x2:=INDEX(t,ERASE_CHARACTER(1))-1;
- COPY_TEXT(ASCII(16*x1+x2));ENDLOOP;WRITE_FILE(b,GET_INFO(COMMAND_LINE,
- "output_file"));ENDPROCEDURE;Unpacker;QUIT;
- $ delete/nolog 'f'*
- $ CHECKSUM 'P1'
- $ IF CHECKSUM$CHECKSUM .eqs. P2 THEN $ EXIT
- $ e "-E-CHKSMFAIL, Checksum of ''P1' failed."
- $ ENDSUBROUTINE
- $START:
- $ create 'f'
- XInstallation:
- X`09The logical name DWPUID needs to point to the directory that contains
- X`09DWPROFILE.UID, ACCESS.UID, PRIVS.UID, IDENTS.UID, RESETOWNER.COM,
- X`09DELTREE.COM, MOVE_DIRECTORY.COM and DWPROFILE.HLB.
- X`09DWPROFILE.DAT must be put in DECW$SYSTEM_DEFAULTS: (World Readable)
- X`09or DECW$USER_DEFAULTS:
- X
- X`09To rebuild:
- X`09UIL/MOTIF DWPROFILE
- X`09UIL/MOTIF ACCESS
- X`09UIL/MOTIF PRIVS
- X`09UIL/MOTIF IDENTS
- X`09CC DWPROFILE
- X`09LINK DWPROFILE,MOTIF/OPT
- X`09LIBRARY/CREATE/HELP DWPROFILE.HLB DWPROFILE.HLP
- X
- X`09or if you have MMS, use the DESCRIP.MMS file.
- X
- XOperation:
- X`09The interface is supposed to be intuitive, but here's what the buttons
- X`09and stuff do:
- X
- X`09'Read Identifiers' forces the list of identifiers to be reloaded.
- X`09This is only necessary if new identifiers have been created since
- X`09DWProfile was started.
- X
- X`09'Read' reads in the UAF entry given by the 'username' widget.
- X
- X`09'Find Next' will search the UAF for a field that is specified by
- X`09the 'Select' menu.
- X
- X`09'Write' writes out those fields that were changed for the specified
- X`09record. If the UAF record is created, the UIC, owner, account, default
- X`09device and directory must also be specified. A new directory is created
- X`09if necessary, the directory tree will be moved if the device/directory
- X`09field changes.
- X
- X`09'Remove' removes the specified UAF record. The directory tree is deleted
- V.
- X
- X`09'Quit' exits the program.
- X
- X`09'Access...' pops up or removes a window that displays the hours
- X`09available for each category of access. Click and drag in these
- X`09windows to change the time.
- X
- X`09'Privs...' pops up or removes a window that displays the default and
- X`09authorized privileges.
- X
- X`09'Accounts...' pops up or removes a selection widget that provides a
- X`09list of group identifier names. A new UIC is calculated from this
- X`09group number.
- X
- X`09'Idents...' pops up up or removes a pair of list boxes that contain
- X`09the identifiers that may be granted and the identifiers that are held
- X`09by the UIC.
- X
- X`09'Select' lets you select a field and contents for the 'Find Next' button.
- X
- XNon-obvious interactions:
- X`09If DWProfile is defined as a symbol, the initial username can be
- X`09specified after the symbol name, e.g. dwp :== $dwprofile and then
- X`09dwp tanner.
- X
- X`09If return is pressed in the 'username' widget, the 'Read' button routine
- X`09is executed.
- X
- X`09If the return key is pressed in the 'account' widget and the UIC is
- X`09`5B0,0`5D, a new UIC will be calculated.
- X
- XScreen/font interactions:
- X`09The default 75DPI font used on 19" monitors, is smaller than the default
- X`09100DPI font used on 15" monitors. If the application's widgets are
- X`09positioned for the 75DPI fonts, the text fields will probably overlap.
- X`09I've explicitly specified that the 75DPI 12 point Helvetica Bold font
- X`09will be used by all widgets (see DWPROFILE.DAT). This is almost the
- X`09same as the default 75DPI font, except that the pitch is narrower.
- X
- XCustomization:
- X`09There are a couple of non-widget resources that DWProfile can use.
- X`09The default value is in parenthesis.
- X
- X DWProfile.quota (none) and DWProfile.overdraft (none) set the disk q
- Vuota
- X and overdraft used when creating a new directory.
- X
- X`09DWProfile.defaultIdent ("") will position the list box of identifiers
- X`09to show this idenifier item if it exists. In other words, if there
- X`09is a 'staff' identifier that almost everyone gets, this will
- X`09automatically scroll the list widget to show 'staff'.
- X
- X`09DWProfile.showAccess (False), DWProfile.showPrivs (False),
- X`09DWProfile.showAccounts (False), DWProfile.showIdents (False) will
- X`09automatically display the specified windows.
- X
- X`09DWProfile.readNotifyInterval (-2) will provide notification
- X`09when reading a non-existant user name. See findNotifyInterval for a`20
- X`09description of the value. `20
- X
- X`09DWProfile.writeNotifyInterval (-2) will provide notification
- X`09upon successful creation/update of a UAF record. See findNotifyInterval
- X`09for a description of the value. `20
- X
- X`09DWProfile.findNotifyInterval (-1) will provide notification of a
- X`09non-existant UAF record when searching through the list of UIC-type
- X`09identifiers. The interpretation of the interval is:
- X`09-2 means don't notify at all
- X`09-1 means display the message on sys$output (the DECterm, fileview output,
- V etc.)
- X`090 means pop up a message window
- X`09n means pop up a message window for n milliseconds or until the OK button
- V is pressed.
- X
- X`09DWProfile.versionLimit (0) will define the version limit of a user's
- X`09directory created by DWProfile. The version limit is normally
- X`09inherited from the parent directory.
- X
- X`09DWProfile.minimumGroup (0) and DWProfile.maximumGroup (32767) specify
- X`09the minimum and maximum groups that will be calculated when a new UIC
- X`09is generated. For example, your group numbers start with 200 and
- X`09extend upward, but you have network servers with UIC group numbers at
- X`09400. A new account string will generate a UIC group above 400 rather
- X`09than in the 200's that you'd wish. Setting maximumGroup to be 255
- X`09(377 octal) will cause DWProfile to ignore UICs above `5B400,0`5D for the
- X`09purposes of making a new UIC. minimumGroup won't mean anything
- X`09unless you are creating a new range of group numbers.
- X
- X`09You can override the resources in DECW$SYSTEM_DEFAULTS:DWPROFILE.DAT by
- X`09specifying resources in SYS$USER_DEFAULTS:DWPROFILE.DAT or
- X`09SYS$LOGIN:DECW$XDEFAULTS.DAT. Just remember that you have to log back
- X`09in to reload the new DECW$XDEFAULTS.DAT.
- X
- XThings to do:
- X`09Add/Remove identifiers (maybe). Is this needed?
- X
- X`09It turns out that the login flags and quotas aren't used often.
- X`09Perhaps they can be put into their own window?
- X`09Then we'd have room for password changed date, pwd expired button,
- X`09disk quota and overdraft.
- X
- X`09Save a named default UAF record other than the DEFAULT UAF record.
- X`09Include things like identifiers, disk quota.
- X
- X`09Pop up requestor on search for date fields, numeric fields, to ask for
- X`09a relation. Flags and privs would have a mask and match. Identifiers
- X`09are easy ($find_holder).
- X
- X`09Something else might be done with the list of matched identifiers.
- X`09Write username/owner/etc. to a file? Print widget?`20
- X
- X`09Use XtVaSetArgs(), XmNmodifyVerify callback
- X
- XAcknowledgements:
- X`09This program was inspired by and named after Profile by John Howells.
- X`09Some of the techniques used in DWProfile were gratefully stolen from
- X`09that program.
- X
- X`09DELTREE.COM was posted to comp.os.vms by Jamie Hanrahan, Simpact
- X`09Associates, San Diego CA.
- X
- XBugs/fixes/suggestions/praise/brickbats to:
- X
- X`09Tanner@Cerritos.EDU
- X
- X`09Bruce Tanner
- X`09Cerritos College
- X`09Computer Services
- X`0911110 Alondra Blvd.
- X`09Norwalk, CA 90650
- X
- X`09(310) 860-2451 x596
- $ CALL UNPACK AAAREADME.TXT;44 628854647
- $ create 'f'
- XDWProfile is a DECwindows Motif application that creates, modifies and
- Xdeletes UAF records. It will perform most of the functions of AUTHORIZE
- Xand will also automatically create, move and delete directories.
- X
- XDWProfile will also search and display UAF records based on fields matching
- X(possibly wildcarded) selection criteria.
- X
- XSource: C, UIL
- XRequires: DECwindows Motif V1.0A or higher.
- $ CALL UNPACK ABSTRACT.TXT;1 1007373165
- $ create 'f'
- Xmodule Access
- X`09names = case_sensitive
- X
- X objects = `7B
- X XmLabel = gadget;
- X XmPushButton = gadget;
- X XmToggleButton = gadget;
- X `7D
- X
- Xprocedure
- X`09WidgetCreated(integer);
- X`09Help(string);
- X
- Xobject
- X`09access_box: XmBulletinBoardDialog `7B
- X`09`09arguments `7B
- X`09`09`09XmNdialogTitle = "DWProfile: Access times";
- X`09`09`09XmNdefaultPosition = false;
- X`09`09`7D;
- X`09`09controls `7B
- X`09`09`09XmForm`09prime;
- X`09`09`09XmForm`09hours;
- X`09`09`09`7D;
- X`09`09callbacks `7B
- X`09`09`09XmNhelpCallback = procedure Help("menus windows access");
- X`09`09`09`7D;
- X`09`09`7D;
- X
- Xvalue
- X`09k_monday_button:`090;
- X`09k_tuesday_button:`091;
- X`09k_wednesday_button:`092;
- X`09k_thursday_button:`093;
- X`09k_friday_button:`094;
- X`09k_saturday_button:`095;
- X`09k_sunday_button:`096;
- X
- Xprocedure
- X`09PrimeCreated(integer);
- X`09PrimeChanged(integer);
- X
- Xobject
- X`09prime: XmForm `7B
- X`09`09arguments `7B
- X`09`09`09XmNx = 5;
- X`09`09`09XmNy = 5;
- X`09`09`09`7D;
- X`09`09controls `7B
- X`09`09`09XmLabel`09`09prime_label;
- X`09`09`09XmRowColumn`09prime_box;
- X`09`09`09`7D;
- X`09`09`7D;
- X
- X`09prime_label: XmLabel `7B
- X`09`09arguments `7B
- X`09`09`09XmNlabelString = "Prime Days:";
- X`09`09`09XmNleftAttachment = XmATTACH_FORM;
- X`09`09`09XmNleftOffset = 5;
- X`09`09`09XmNtopAttachment = XmATTACH_FORM;
- X`09`09`09XmNtopOffset = 2; `20
- X`09`09`09`7D;
- X`09`09`7D;
- X
- X`09prime_box: XmRowColumn `7B
- X`09`09arguments `7B
- X`09`09`09XmNleftAttachment = XmATTACH_WIDGET;
- X`09`09`09XmNleftWidget = prime_label;
- X`09`09`09XmNorientation = XmHORIZONTAL;
- X`09`09`09XmNpacking = XmPACK_TIGHT;
- X`09`09`09`7D;
- X`09`09controls `7B
- X`09`09`09XmToggleButton`09monday_button;
- X`09`09`09XmToggleButton`09tuesday_button;
- X`09`09`09XmToggleButton`09wednesday_button;
- X`09`09`09XmToggleButton`09thursday_button;
- X`09`09`09XmToggleButton`09friday_button;
- X`09`09`09XmToggleButton`09saturday_button;
- X`09`09`09XmToggleButton`09sunday_button;
- X`09`09`09`7D;
- X`09`09`7D;
- X
- X
- X`09sunday_button: XmToggleButton `7B
- X`09`09arguments `7B
- X`09`09`09XmNlabelString = "Sunday";
- X`09`09`7D;
- X`09`09callbacks `7B
- X`09`09`09MrmNcreateCallback = procedure PrimeCreated(k_sunday_button);
- X`09`09`09XmNvalueChangedCallback = procedure PrimeChanged(k_sunday_button);
- X`09`09`09`7D;
- X`09`09`7D;
- X
- X`09monday_button: XmToggleButton `7B
- X`09`09arguments `7B
- X`09`09`09XmNlabelString = "Monday";
- X`09`09`7D;
- X`09`09callbacks `7B
- X`09`09`09MrmNcreateCallback = procedure PrimeCreated(k_monday_button);
- X`09`09`09XmNvalueChangedCallback = procedure PrimeChanged(k_monday_button);
- X`09`09`09`7D;
- X`09`09`7D;
- X
- X`09tuesday_button: XmToggleButton `7B
- X`09`09arguments `7B
- X`09`09`09XmNlabelString = "Tuesday";
- X`09`09`7D;
- X`09`09callbacks `7B
- X`09`09`09MrmNcreateCallback = procedure PrimeCreated(k_tuesday_button);
- X`09`09`09XmNvalueChangedCallback = procedure PrimeChanged(k_tuesday_button);
- X`09`09`09`7D;
- X`09`09`7D;
- X
- X`09wednesday_button: XmToggleButton `7B
- X`09`09arguments `7B
- X`09`09`09XmNlabelString = "Wednsday";
- X`09`09`7D;
- X`09`09callbacks `7B
- X`09`09`09MrmNcreateCallback = procedure PrimeCreated(k_wednesday_button);
- X`09`09`09XmNvalueChangedCallback = procedure PrimeChanged(k_wednesday_button
- V);
- X`09`09`09`7D;
- X`09`09`7D;
- X
- X`09thursday_button: XmToggleButton `7B
- X`09`09arguments `7B
- X`09`09`09XmNlabelString = "Thursday";
- X`09`09`7D;
- X`09`09callbacks `7B
- X`09`09`09MrmNcreateCallback = procedure PrimeCreated(k_thursday_button);
- X`09`09`09XmNvalueChangedCallback = procedure PrimeChanged(k_thursday_button)
- V;
- X`09`09`09`7D;
- X`09`09`7D;
- X
- X`09friday_button: XmToggleButton `7B
- X`09`09arguments `7B
- X`09`09`09XmNlabelString = "Friday";
- X`09`09`7D;
- X`09`09callbacks `7B
- X`09`09`09MrmNcreateCallback = procedure PrimeCreated(k_friday_button);
- X`09`09`09XmNvalueChangedCallback = procedure PrimeChanged(k_friday_button);
- X`09`09`09`7D;
- X`09`09`7D;
- X
- X`09saturday_button: XmToggleButton `7B
- X`09`09arguments `7B
- X`09`09`09XmNlabelString = "Saturday";
- X`09`09`7D;
- X`09`09callbacks `7B
- X`09`09`09MrmNcreateCallback = procedure PrimeCreated(k_saturday_button);
- X`09`09`09XmNvalueChangedCallback = procedure PrimeChanged(k_saturday_button)
- V;
- X`09`09`09`7D;
- X`09`09`7D;
- X
- X
- Xvalue
- X`09k_widget_network_prime:`09`0936;
- X`09k_widget_network_secondary:`0937;
- X`09k_widget_batch_prime:`09`0938;
- X`09k_widget_batch_secondary:`0939;
- X`09k_widget_local_prime:`09`0940;
- X`09k_widget_local_secondary:`0941;
- X`09k_widget_dialup_prime:`09`0942;
- X`09k_widget_dialup_secondary:`0943;
- X`09k_widget_remote_prime:`09`0944;
- X`09k_widget_remote_secondary:`0945;
- X
- X`09k_prime_label_tab:`09`095;
- X`09k_prime_hour_tab:`09`09100;
- X`09k_secondary_label_tab:`09`09350;
- X`09k_secondary_hour_tab:`09`09450;
- X`09k_hours_height:`09`09`0916;
- X`09k_hours_width:`09`09`09192; !runtime modified to hourSize * 24
- X`09k_hour_2_y:`09`09`0913;
- X
- Xobject
- X`09hours: XmForm `7B
- X`09`09arguments `7B
- X`09`09`09XmNx = 5;
- X`09`09`09XmNy = 40;
- X`09`09`09`7D;
- X`09`09controls `7B
- X`09`09`09XmLabel`09primary_label;
- X`09`09`09XmLabel`09primary_hours_1;
- X`09`09`09XmLabel`09primary_hours_2;
- X`09`09`09XmLabel`09secondary_label;
- X`09`09`09XmLabel`09secondary_hours_1;
- X`09`09`09XmLabel`09secondary_hours_2;
- X`09`09`09XmForm network;
- X`09`09`09XmForm batch;
- X`09`09`09XmForm local;
- X`09`09`09XmForm dialup;
- X`09`09`09XmForm remote;
- X`09`09`09`7D;
- X`09`09`7D;
- X
- X`09primary_label: XmLabel `7B
- X`09`09arguments `7B
- X`09`09`09XmNlabelString = "Primary";
- X`09`09`09XmNx = k_prime_label_tab;
- X`09`09`09`7D;
- X`09`09`7D;
- X
- X`09primary_hours_1: XmLabel `7B
- X`09`09arguments `7B
- X`09`09`09XmNlabelString = "000000000011111111112222";
- X`09`09`09XmNx = k_prime_hour_tab;
- X`09`09`09`7D;
- X`09`09`7D;
- X
- X`09primary_hours_2: XmLabel `7B
- X`09`09arguments `7B
- X`09`09`09XmNlabelString = "012345678901234567890123";
- X`09`09`09XmNx = k_prime_hour_tab;
- X`09`09`09XmNy = k_hour_2_y;
- X`09`09`09`7D;
- X`09`09`7D;
- X
- X`09secondary_label: XmLabel `7B
- X`09`09arguments `7B
- X`09`09`09XmNlabelString = "Secondary";
- X`09`09`09XmNx = k_secondary_label_tab;
- X`09`09`09`7D;
- X`09`09`7D;
- X
- X`09secondary_hours_1: XmLabel `7B
- X`09`09arguments `7B
- X`09`09`09XmNlabelString = "000000000011111111112222";
- X`09`09`09XmNx = k_secondary_hour_tab;
- X`09`09`09`7D;
- X`09`09`7D;
- X
- X`09secondary_hours_2: XmLabel `7B
- X`09`09arguments `7B
- X`09`09`09XmNlabelString = "012345678901234567890123";
- X`09`09`09XmNx = k_secondary_hour_tab;
- X`09`09`09XmNy = k_hour_2_y;
- X`09`09`09`7D;
- X`09`09`7D;
- X
- X`09network: XmForm `7B
- X`09`09arguments `7B
- X`09`09`09XmNy = 30;
- X`09`09`09`7D;
- X`09`09controls `7B
- X`09`09`09XmLabel`09network_prime_label;
- X`09`09`09XmDrawingArea`09network_prime_window;
- X`09`09`09XmLabel`09network_secondary_label;
- X`09`09`09XmDrawingArea`09network_secondary_window;
- X`09`09`09`7D;
- X`09`09`7D;
- X
- X`09network_prime_label: XmLabel `7B
- X`09`09arguments `7B
- X`09`09`09XmNlabelString = "Network:";
- X`09`09`09XmNleftAttachment = XmATTACH_FORM;
- X`09`09`09XmNleftOffset = k_prime_label_tab;
- X`09`09`09`7D;
- X`09`09`7D;
- X
- X`09network_prime_window: XmDrawingArea `7B
- X`09`09arguments `7B
- X`09`09`09XmNheight = k_hours_height;
- X`09`09`09XmNwidth = k_hours_width;
- X`09`09`09XmNleftAttachment = XmATTACH_FORM;
- X`09`09`09XmNleftOffset = k_prime_hour_tab;
- X`09`09`09`7D;
- X`09`09callbacks `7B
- X`09`09`09MrmNcreateCallback = procedure WidgetCreated(k_widget_network_prime
- V);
- X`09`09`09`7D;
- X`09`09`7D;
- X
- X`09network_secondary_label: XmLabel `7B
- X`09`09arguments `7B
- X`09`09`09XmNlabelString = "Network:";
- X`09`09`09XmNleftAttachment = XmATTACH_FORM;
- X`09`09`09XmNleftOffset = k_secondary_label_tab;
- X`09`09`09`7D;
- X`09`09`7D;
- X
- X`09network_secondary_window: XmDrawingArea `7B
- X`09`09arguments `7B
- X`09`09`09XmNheight = k_hours_height;
- X`09`09`09XmNwidth = k_hours_width;
- X`09`09`09XmNleftAttachment = XmATTACH_FORM;
- X`09`09`09XmNleftOffset = k_secondary_hour_tab;
- X`09`09`09`7D;
- X`09`09callbacks `7B
- X`09`09`09MrmNcreateCallback = procedure WidgetCreated(k_widget_network_secon
- Vdary);
- X`09`09`09`7D;
- X`09`09`7D;
- X
- X`09batch: XmForm `7B
- X`09`09arguments `7B
- X`09`09`09XmNy = 50;
- X`09`09`09`7D;
- X`09`09controls `7B
- X`09`09`09XmLabel`09batch_prime_label;
- X`09`09`09XmDrawingArea`09batch_prime_window;
- X`09`09`09XmLabel`09batch_secondary_label;
- X`09`09`09XmDrawingArea`09batch_secondary_window;
- X`09`09`09`7D;
- X`09`09`7D;
- X
- X`09batch_prime_label: XmLabel `7B
- X`09`09arguments `7B
- X`09`09`09XmNlabelString = "Batch:";
- X`09`09`09XmNleftAttachment = XmATTACH_FORM;
- X`09`09`09XmNleftOffset = k_prime_label_tab;
- X`09`09`09`7D;
- X`09`09`7D;
- X
- X`09batch_prime_window: XmDrawingArea `7B
- X`09`09arguments `7B
- X`09`09`09XmNheight = k_hours_height;
- X`09`09`09XmNwidth = k_hours_width;
- X`09`09`09XmNleftAttachment = XmATTACH_FORM;
- X`09`09`09XmNleftOffset = k_prime_hour_tab;
- X`09`09`09`7D;
- X`09`09callbacks `7B
- X`09`09`09MrmNcreateCallback = procedure WidgetCreated(k_widget_batch_prime);
- X`09`09`09`7D;
- X`09`09`7D;
- X
- X`09batch_secondary_label: XmLabel `7B
- X`09`09arguments `7B
- X`09`09`09XmNlabelString = "Batch:";
- X`09`09`09XmNleftAttachment = XmATTACH_FORM;
- X`09`09`09XmNleftOffset = k_secondary_label_tab;
- X`09`09`09`7D;
- X`09`09`7D;
- X
- X`09batch_secondary_window: XmDrawingArea `7B
- X`09`09arguments `7B
- X`09`09`09XmNheight = k_hours_height;
- X`09`09`09XmNwidth = k_hours_width;
- X`09`09`09XmNleftAttachment = XmATTACH_FORM;
- X`09`09`09XmNleftOffset = k_secondary_hour_tab;
- X`09`09`09`7D;
- X`09`09callbacks `7B
- X`09`09`09MrmNcreateCallback = procedure WidgetCreated(k_widget_batch_seconda
- Vry);
- X`09`09`09`7D;
- X`09`09`7D;
- X
- X`09local: XmForm `7B
- X`09`09arguments `7B
- X`09`09`09XmNy = 70;
- X`09`09`09`7D;
- X`09`09controls `7B
- X`09`09`09XmLabel`09local_prime_label;
- X`09`09`09XmDrawingArea`09local_prime_window;
- X`09`09`09XmLabel`09local_secondary_label;
- X`09`09`09XmDrawingArea`09local_secondary_window;
- X`09`09`09`7D;
- X`09`09`7D;
- X
- X`09local_prime_label: XmLabel `7B
- X`09`09arguments `7B
- X`09`09`09XmNlabelString = "Local:";
- X`09`09`09XmNleftAttachment = XmATTACH_FORM;
- X`09`09`09XmNleftOffset = k_prime_label_tab;
- X`09`09`09`7D;
- X`09`09`7D;
- X
- X`09local_prime_window: XmDrawingArea `7B
- X`09`09arguments `7B
- X`09`09`09XmNheight = k_hours_height;
- X`09`09`09XmNwidth = k_hours_width;
- X`09`09`09XmNleftAttachment = XmATTACH_FORM;
- X`09`09`09XmNleftOffset = k_prime_hour_tab;
- X`09`09`09`7D;
- X`09`09callbacks `7B
- X`09`09`09MrmNcreateCallback = procedure WidgetCreated(k_widget_local_prime);
- X`09`09`09`7D;
- X`09`09`7D;
- X
- X`09local_secondary_label: XmLabel `7B
- X`09`09arguments `7B
- X`09`09`09XmNlabelString = "Local:";
- X`09`09`09XmNleftAttachment = XmATTACH_FORM;
- X`09`09`09XmNleftOffset = k_secondary_label_tab;
- X`09`09`09`7D;
- X`09`09`7D;
- X
- X`09local_secondary_window: XmDrawingArea `7B
- X`09`09arguments `7B
- X`09`09`09XmNheight = k_hours_height;
- X`09`09`09XmNwidth = k_hours_width;
- X`09`09`09XmNleftAttachment = XmATTACH_FORM;
- X`09`09`09XmNleftOffset = k_secondary_hour_tab;
- X`09`09`09`7D;
- X`09`09callbacks `7B
- X`09`09`09MrmNcreateCallback = procedure WidgetCreated(k_widget_local_seconda
- Vry);
- X`09`09`09`7D;
- X`09`09`7D;
- X
- X`09dialup: XmForm `7B
- X`09`09arguments `7B
- X`09`09`09XmNy = 90;
- X`09`09`09`7D;
- X`09`09controls `7B
- X`09`09`09XmLabel`09dialup_prime_label;
- X`09`09`09XmDrawingArea`09dialup_prime_window;
- X`09`09`09XmLabel`09dialup_secondary_label;
- X`09`09`09XmDrawingArea`09dialup_secondary_window;
- X`09`09`09`7D;
- X`09`09`7D;
- X
- X`09dialup_prime_label: XmLabel `7B
- X`09`09arguments `7B
- X`09`09`09XmNlabelString = "Dialup:";
- X`09`09`09XmNleftAttachment = XmATTACH_FORM;
- X`09`09`09XmNleftOffset = k_prime_label_tab;
- X`09`09`09`7D;
- X`09`09`7D;
- X
- X`09dialup_prime_window: XmDrawingArea `7B
- X`09`09arguments `7B
- X`09`09`09XmNheight = k_hours_height;
- X`09`09`09XmNwidth = k_hours_width;
- X`09`09`09XmNleftAttachment = XmATTACH_FORM;
- X`09`09`09XmNleftOffset = k_prime_hour_tab;
- X`09`09`09`7D;
- X`09`09callbacks `7B
- X`09`09`09MrmNcreateCallback = procedure WidgetCreated(k_widget_dialup_prime)
- V;
- X`09`09`09`7D;
- X`09`09`7D;
- X
- X`09dialup_secondary_label: XmLabel `7B
- X`09`09arguments `7B
- X`09`09`09XmNlabelString = "Dialup:";
- X`09`09`09XmNleftAttachment = XmATTACH_FORM;
- X`09`09`09XmNleftOffset = k_secondary_label_tab;
- X`09`09`09`7D;
- X`09`09`7D;
- X
- X`09dialup_secondary_window: XmDrawingArea `7B
- X`09`09arguments `7B
- X`09`09`09XmNheight = k_hours_height;
- X`09`09`09XmNwidth = k_hours_width;
- X`09`09`09XmNleftAttachment = XmATTACH_FORM;
- X`09`09`09XmNleftOffset = k_secondary_hour_tab;
- X`09`09`09`7D;
- X`09`09callbacks `7B
- X`09`09`09MrmNcreateCallback = procedure WidgetCreated(k_widget_dialup_second
- Vary);
- X`09`09`09`7D;
- X`09`09`7D;
- X
- X`09remote: XmForm `7B
- X`09`09arguments `7B
- X`09`09`09XmNy = 110;
- X`09`09`09`7D;
- X`09`09controls `7B
- X`09`09`09XmLabel`09remote_prime_label;
- X`09`09`09XmDrawingArea`09remote_prime_window;
- X`09`09`09XmLabel`09remote_secondary_label;
- X`09`09`09XmDrawingArea`09remote_secondary_window;
- X`09`09`09`7D;
- X`09`09`7D;
- X
- X`09remote_prime_label: XmLabel `7B
- X`09`09arguments `7B
- X`09`09`09XmNlabelString = "Remote:";
- X`09`09`09XmNleftAttachment = XmATTACH_FORM;
- X`09`09`09XmNleftOffset = k_prime_label_tab;
- X`09`09`09`7D;
- X`09`09`7D;
- X
- X`09remote_prime_window: XmDrawingArea `7B
- X`09`09arguments `7B
- X`09`09`09XmNheight = k_hours_height;
- X`09`09`09XmNwidth = k_hours_width;
- X`09`09`09XmNleftAttachment = XmATTACH_FORM;
- X`09`09`09XmNleftOffset = k_prime_hour_tab;
- X`09`09`09`7D;
- X`09`09callbacks `7B
- X`09`09`09MrmNcreateCallback = procedure WidgetCreated(k_widget_remote_prime)
- V;
- X`09`09`09`7D;
- X`09`09`7D;
- X
- X`09remote_secondary_label: XmLabel `7B
- X`09`09arguments `7B
- X`09`09`09XmNlabelString = "Remote:";
- X`09`09`09XmNleftAttachment = XmATTACH_FORM;
- X`09`09`09XmNleftOffset = k_secondary_label_tab;
- X`09`09`09`7D;
- X`09`09`7D;
- X
- X`09remote_secondary_window: XmDrawingArea `7B
- X`09`09arguments `7B
- X`09`09`09XmNheight = k_hours_height;
- X`09`09`09XmNwidth = k_hours_width;
- X`09`09`09XmNleftAttachment = XmATTACH_FORM;
- X`09`09`09XmNleftOffset = k_secondary_hour_tab;
- X`09`09`09`7D;
- X`09`09callbacks `7B
- X`09`09`09MrmNcreateCallback = procedure WidgetCreated(k_widget_remote_second
- Vary);
- X`09`09`09`7D;
- X`09`09`7D;
- Xend module;
- $ CALL UNPACK ACCESS.UIL;39 355085878
- $ create 'f'
- Xvalue
- X`09k_work_area_x:`09`09100;
- X`09k_work_area_spacing:`0950;
- X
- X`09k_access_menu:`09`090;
- X`09k_accounts_menu:`091;
- X`09k_idents_menu:`09`092;
- X`09k_privs_menu:`09`093;
- X`09k_functions_menu:`094;
- X`09k_find_menu:`09`095;
- X`09k_find_button:`09`096;
- X`09k_restart_button:`097;
- X
- X`09k_username_select:`090;
- X`09k_account_select:`091;
- X`09k_owner_select:`09`092;
- X`09k_uic_select:`09`093;
- X`09k_device_select:`094;
- X`09k_directory_select:`095;
- X`09k_cli_select:`09`096;
- X`09k_lgicmd_select:`097;
- X`09k_table_select:`09`098;
- X`09k_lifetime_select:`099;
- X`09k_expire_select:`0910;
- X`09k_logfail_select:`0911;
- X`09k_restart_select:`09100;
- X
- Xprocedure
- X`09Quit();
- X`09Read();
- X`09Find();
- X`09Write();
- X`09Remove();
- X`09Access();
- X Privs();
- X`09Idents();
- X`09Accounts();
- X`09ReadIdentifiers();
- X`09ButtonCreated(integer);
- X`09Select(integer);
- X
- Xobject
- X`09menu: XmMenuBar `7B
- X`09`09arguments `7B
- X`09`09`09XmNorientation = XmHORIZONTAL;
- X`09`09`09XmNspacing = 10;
- X`09`09`09XmNmenuHelpWidget = XmCascadeButton help_menu_entry;
- X`09`09`7D;
- X`09`09controls `7B
- X`09`09`09XmCascadeButton file_menu_entry;
- X`09`09`09XmCascadeButton windows_menu_entry;
- X`09`09`09XmCascadeButton select_menu_entry;
- X`09`09`09XmCascadeButton help_menu_entry;
- X`09`09`09`7D;
- X`09`09callbacks `7B
- X`09`09`09XmNhelpCallback = procedure Help("menus");
- X`09`09`09`7D;
- X`09`09`7D;
- X
- X`09file_menu_entry: XmCascadeButton `7B
- X`09`09arguments `7B
- X`09`09`09XmNlabelString = "File";
- X `09`09`09XmNmnemonic = keysym('F');
- X`09`09`09`7D;
- X`09`09controls `7B
- X`09`09`09XmPulldownMenu commands_menu;
- X`09`09`09`7D;
- X`09`09callbacks `7B
- X`09`09`09XmNhelpCallback = procedure Help("menus file");
- X`09`09`09`7D;
- X`09`09`7D;
- X
- X`09windows_menu_entry: XmCascadeButton `7B
- X`09`09arguments `7B
- X`09`09`09XmNlabelString = "Windows";
- X `09`09`09XmNmnemonic = keysym('W');
- X`09`09`09`7D;
- X`09`09controls `7B
- X`09`09`09XmPulldownMenu windows_menu;
- X`09`09`09`7D;
- X`09`09callbacks `7B
- X`09`09`09XmNhelpCallback = procedure Help("menus windows");
- X`09`09`09`7D;
- X`09`09`7D;
- X
- X`09select_menu_entry: XmCascadeButton `7B
- X`09`09arguments `7B
- X`09`09`09XmNlabelString = "Select";
- X`09`09`09XmNmnemonic = keysym('S');
- X`09`09`09`7D;
- X`09`09controls `7B
- X`09`09`09XmPulldownMenu select_menu;
- X`09`09`09`7D;
- X`09`09callbacks `7B
- X`09`09`09XmNhelpCallback = procedure Help("menus select");
- X`09`09`09`7D;
- X`09`09`7D;
- X
- X`09help_menu_entry: XmCascadeButton `7B
- X`09`09arguments `7B
- X`09`09`09XmNlabelString = "Help";
- X`09`09`09XmNmnemonic = keysym('H');
- X`09`09`09`7D;
- X`09`09controls `7B
- X`09`09`09XmPulldownMenu help_menu;
- X`09`09`09`7D;
- X`09`09`7D;
- X
- X`09commands_menu: XmPulldownMenu `7B
- X`09`09controls `7B
- X`09`09`09XmPushButton`09read_id_button;
- X`09`09`09XmSeparator`09`7B`7D;
- X`09`09`09XmPushButton`09read_button;
- X`09`09`09XmPushButton`09find_menu_button;
- X`09`09`09XmPushButton write_button;
- X`09`09`09XmPushButton remove_button;
- X`09`09`09XmPushButton quit_button;
- X`09`09`09`7D;
- X`09`09`7D;
- X
- X`09windows_menu: XmPulldownMenu `7B
- X`09`09controls `7B
- X`09`09`09XmToggleButton access_button;
- X`09`09`09XmToggleButton`09accounts_button;
- X`09`09`09XmToggleButton idents_button;
- X`09`09`09XmToggleButton privs_button;
- X`09`09`09`7D;
- X`09`09`7D;
- X
- X`09privs_button: XmToggleButton `7B
- X`09`09arguments `7B
- X`09`09`09XmNlabelString = "Privs...";
- X`09`09`09`7D;
- X`09`09callbacks `7B
- X`09`09`09MrmNcreateCallback = procedure ButtonCreated(k_privs_menu);
- X`09`09`09XmNvalueChangedCallback = procedure Privs;
- X`09`09`09XmNhelpCallback = procedure Help("menus windows privs");
- X`09`09`09`7D;
- X`09`09`7D;
- X
- X`09accounts_button: XmToggleButton `7B
- X`09`09arguments `7B
- X`09`09`09XmNlabelString = "Accounts...";
- X`09`09`09`7D;
- X`09`09callbacks `7B
- X`09`09`09MrmNcreateCallback = procedure ButtonCreated(k_accounts_menu);
- X`09`09`09XmNvalueChangedCallback = procedure Accounts;
- X`09`09`09XmNhelpCallback = procedure Help("menus windows accounts");
- X`09`09`09`7D;
- X`09`09`7D;
- X
- X`09idents_button: XmToggleButton `7B
- X`09`09arguments `7B
- X`09`09`09XmNlabelString = "Identifiers...";
- X`09`09`09`7D;
- X`09`09callbacks `7B
- X`09`09`09MrmNcreateCallback = procedure ButtonCreated(k_idents_menu);
- X`09`09`09XmNvalueChangedCallback = procedure Idents;
- X`09`09`09XmNhelpCallback = procedure Help("menus windows idents");
- X`09`09`09`7D;
- X`09`09`7D;
- X
- X`09access_button: XmToggleButton `7B
- X`09`09arguments `7B
- X`09`09`09XmNlabelString = "Access...";
- X`09`09`09`7D;
- X`09`09callbacks `7B`09
- X`09`09`09MrmNcreateCallback = procedure ButtonCreated(k_access_menu);
- X`09`09`09XmNvalueChangedCallback = procedure Access;
- X`09`09`09XmNhelpCallback = procedure Help("menus windows access");
- X`09`09`09`7D;
- X`09`09`7D;
- X
- X`09select_menu: XmPulldownMenu `7B
- X`09`09controls `7B
- X`09`09`09XmPushButton`09restart_button;
- X`09`09`09XmSeparator`09`7B`7D;
- X`09`09`09XmPushButton`09username_button;
- X`09`09`09XmPushButton`09account_button;
- X`09`09`09XmPushButton`09owner_button;
- X`09`09`09XmPushButton`09uic_button;
- X`09`09`09XmPushButton`09device_button;
- X`09`09`09XmPushButton`09directory_button;
- X`09`09`09XmPushButton`09cli_button;
- X`09`09`09XmPushButton`09lgicmd_button;
- X`09`09`09XmPushButton`09table_button;
- X`09`09`09XmPushButton `09lifetime_button;
- X`09`09`09XmPushButton `09expire_button;
- X`09`09`09XmPushButton `09logfail_button;
- X`09`09`09`7D;
- X`09`09`7D;
- X
- X`09restart_button: XmPushButton `7B
- X`09`09arguments `7B
- X`09`09`09XmNlabelString = "Reset search";
- X`09`09`09XmNsensitive = false;
- X`09`09`09`7D;
- X`09`09callbacks `7B`09
- X`09`09`09MrmNcreateCallback = procedure ButtonCreated(k_restart_button);
- X`09`09`09XmNactivateCallback = procedure Select(k_restart_select);
- X`09`09`09XmNhelpCallback = procedure Help("menus select restart");
- X`09`09`09`7D;
- X`09`09`7D;
- X
- X`09username_button: XmPushButton `7B
- X`09`09arguments `7B
- X`09`09`09XmNlabelString = "Username";
- X`09`09`09`7D;
- X`09`09callbacks `7B`09
- X`09`09`09XmNactivateCallback = procedure Select(k_username_select);
- X`09`09`09`7D;
- X`09`09`7D;
- X
- X`09account_button: XmPushButton `7B
- X`09`09arguments `7B
- X`09`09`09XmNlabelString = "Account";
- X`09`09`09`7D;
- X`09`09callbacks `7B`09
- X`09`09`09XmNactivateCallback = procedure Select(k_account_select);
- X`09`09`09`7D;
- X`09`09`7D;
- X
- X`09owner_button: XmPushButton `7B
- X`09`09arguments `7B
- X`09`09`09XmNlabelString = "Owner";
- X`09`09`09`7D;
- X`09`09callbacks `7B`09
- X`09`09`09XmNactivateCallback = procedure Select(k_owner_select);
- X`09`09`09`7D;
- X`09`09`7D;
- X
- X`09uic_button: XmPushButton `7B
- X`09`09arguments `7B
- X`09`09`09XmNlabelString = "UIC";
- X`09`09`09`7D;
- X`09`09callbacks `7B`09
- X`09`09`09XmNactivateCallback = procedure Select(k_uic_select);
- X`09`09`09`7D;
- X`09`09`7D;
- X
- X`09device_button: XmPushButton `7B
- X`09`09arguments `7B
- X`09`09`09XmNlabelString = "Device";
- X`09`09`09`7D;
- X`09`09callbacks `7B`09
- X`09`09`09XmNactivateCallback = procedure Select(k_device_select);
- X`09`09`09`7D;
- X`09`09`7D;
- X
- X`09directory_button: XmPushButton `7B
- X`09`09arguments `7B
- X`09`09`09XmNlabelString = "Directory";
- X`09`09`09`7D;
- X`09`09callbacks `7B`09
- X`09`09`09XmNactivateCallback = procedure Select(k_directory_select);
- X`09`09`09`7D;
- X`09`09`7D;
- X
- X`09cli_button: XmPushButton `7B
- X`09`09arguments `7B
- X`09`09`09XmNlabelString = "CLI";
- X`09`09`09`7D;
- X`09`09callbacks `7B`09
- X`09`09`09XmNactivateCallback = procedure Select(k_cli_select);
- X`09`09`09`7D;
- X`09`09`7D;
- X
- X`09lgicmd_button: XmPushButton `7B
- X`09`09arguments `7B
- X`09`09`09XmNlabelString = "LGICMD";
- X`09`09`09`7D;
- X`09`09callbacks `7B`09
- X`09`09`09XmNactivateCallback = procedure Select(k_lgicmd_select);
- X`09`09`09`7D;
- X`09`09`7D;
- X
- X`09table_button: XmPushButton `7B
- X`09`09arguments `7B
- X`09`09`09XmNlabelString = "DCL table";
- X`09`09`09`7D;
- X`09`09callbacks `7B`09
- X`09`09`09XmNactivateCallback = procedure Select(k_table_select);
- X`09`09`09`7D;
- X`09`09`7D;
- X
- X`09lifetime_button: XmPushButton `7B
- X`09`09arguments `7B
- X`09`09`09XmNlabelString = "Pwdlifetime";
- X`09`09`09`7D;
- X`09`09callbacks `7B`09
- X`09`09`09XmNactivateCallback = procedure Select(k_lifetime_select);
- X`09`09`09`7D;
- X`09`09`7D;
- X
- X`09expire_button: XmPushButton `7B
- X`09`09arguments `7B
- X`09`09`09XmNlabelString = "Expire date";
- X`09`09`09`7D;
- X`09`09callbacks `7B`09
- X`09`09`09XmNactivateCallback = procedure Select(k_expire_select);
- X`09`09`09`7D;
- X`09`09`7D;
- X
- X`09logfail_button: XmPushButton `7B
- X`09`09arguments `7B
- X`09`09`09XmNlabelString = "Login failures > 0";
- X`09`09`09`7D;
- X`09`09callbacks `7B`09
- X`09`09`09XmNactivateCallback = procedure Select(k_logfail_select);
- X`09`09`09`7D;
- X`09`09`7D;
- X
- X
- X`09help_menu: XmPulldownMenu `7B
- X`09`09controls `7B
- X`09`09`09XmPushButton`09help_context;
- X`09`09`09XmPushButton`09help_window;
- X`09`09`09XmPushButton`09help_version;
- X`09`09`09`7D;
- X`09`09`7D;
- X
- X`09help_context: XmPushButton `7B
- X`09`09arguments `7B
- X`09`09`09XmNlabelString = "On Context";
- X`09`09`09`7D;
- X`09`09callbacks `7B`09
- X`09`09`09XmNactivateCallback = procedure Help("context");
- X`09`09`09`7D;
- X`09`09`7D;
- X
- X
- X`09help_window: XmPushButton `7B
- X`09`09arguments `7B
- X`09`09`09XmNlabelString = "On Window";
- X`09`09`09`7D;
- X`09`09callbacks `7B`09
- X`09`09`09XmNactivateCallback = procedure Help("overview");
- X`09`09`09`7D;
- X`09`09`7D;
- X
- X
- X`09help_version: XmPushButton `7B
- X`09`09arguments `7B
- X`09`09`09XmNlabelString = "On Version";
- X`09`09`09`7D;
- X`09`09callbacks `7B`09
- X`09`09`09XmNactivateCallback = procedure Help("version");
- X`09`09`09`7D;
- X`09`09`7D;
- X
- X
- Xobject
- X`09functions: XmRowColumn `7B
- X`09`09arguments `7B
- X`09`09`09XmNorientation = XmHORIZONTAL;
- X`09`09`09XmNx = k_work_area_x;
- X`09`09`09XmNy = k_functions_y;
- X`09`09`09XmNspacing = k_work_area_spacing;
- X`09`09`09XmNborderWidth = 1;
- X`09`09`09`7D;
- X`09`09controls `7B
- X`09`09`09XmPushButton`09read_button;
- X`09`09`09XmPushButton`09find_button;
- X`09`09`09XmPushButton write_button;
- X`09`09`09XmPushButton remove_button;
- X`09`09`09XmPushButton quit_button;
- X`09`09`09`7D;
- X`09`09callbacks `7B
- X`09`09`09MrmNcreateCallback = procedure ButtonCreated(k_functions_menu);
- X`09`09`09`7D;
- X`09`09`7D;
- X
- X`09read_id_button: XmPushButton widget `7B
- X`09`09arguments `7B
- X`09`09`09XmNlabelString = "Read Identifiers";
- X`09`09`09`7D;
- X`09`09callbacks `7B
- X`09`09`09XmNactivateCallback = procedure ReadIdentifiers;
- X`09`09`09XmNhelpCallback = procedure Help("menus file read_identifiers");
- X`09`09`09`7D;
- X`09`09`7D;
- X
- X`09read_button: XmPushButton widget `7B
- X`09`09arguments `7B
- X`09`09`09XmNlabelString = "Read";
- X`09`09`09`7D;
- X`09`09callbacks `7B
- X`09`09`09XmNactivateCallback = procedure Read;
- X`09`09`09XmNhelpCallback = procedure Help("menus file read");
- X`09`09`09`7D;
- X`09`09`7D;
- X
- X`09find_menu_button: XmPushButton widget `7B
- X`09`09arguments `7B
- X`09`09`09XmNlabelString = "Find Next";
- X`09`09`09XmNsensitive = false;
- X`09`09`09XmNaccelerator = "<Key>Next:";
- X`09`09`09XmNacceleratorText = "Next";
- X`09`09`09`7D;
- X`09`09callbacks `7B
- X`09`09`09MrmNcreateCallback = procedure ButtonCreated(k_find_menu);
- X`09`09`09XmNactivateCallback = procedure Find;
- X`09`09`09XmNhelpCallback = procedure Help("menus file find_next");
- X`09`09`09`7D;
- X`09`09`7D;
- X
- X`09find_button: XmPushButton widget `7B
- X`09`09arguments `7B
- X`09`09`09XmNlabelString = "Find Next";
- X`09`09`09XmNsensitive = false;
- X`09`09`09`7D;
- X`09`09callbacks `7B
- X`09`09`09MrmNcreateCallback = procedure ButtonCreated(k_find_button);
- X`09`09`09XmNactivateCallback = procedure Find;
- X`09`09`09XmNhelpCallback = procedure Help("menus file find_next");
- X`09`09`09`7D;
- X`09`09`7D;
- X
- X`09write_button: XmPushButton widget `7B
- X`09`09arguments `7B
- X`09`09`09XmNlabelString = "Write";
- X`09`09`09`7D;
- X`09`09callbacks `7B
- X`09`09`09XmNactivateCallback = procedure Write;
- X`09`09`09XmNhelpCallback = procedure Help("menus file write");
- X`09`09`09`7D;
- X`09`09`7D;
- X
- X`09remove_button: XmPushButton widget `7B
- X`09`09arguments `7B
- X`09`09`09XmNlabelString = "Remove";
- X`09`09`09`7D;
- X`09`09callbacks `7B
- X`09`09`09XmNactivateCallback = procedure Remove;
- X`09`09`09XmNhelpCallback = procedure Help("menus file remove");
- X`09`09`09`7D;
- X`09`09`7D;
- X
- X`09quit_button: XmPushButton widget `7B
- X`09`09arguments `7B
- X`09`09`09XmNlabelString = "Quit";
- X`09`09`09XmNacceleratorText = "Ctrl/Z";
- X`09`09`09XmNaccelerator = "Ctrl<Key>z:";
- X`09`09`09`7D;
- X`09`09callbacks `7B
- X`09`09`09XmNactivateCallback = procedure Quit;
- X`09`09`09XmNhelpCallback = procedure Help("menus file quit");
- X`09`09`09`7D;
- X`09`09`7D;
- $ CALL UNPACK BUTTONS.UIL;79 1934089683
- $ create 'f'
- X$ old_veri = f$verify(0)
- X$ !`09DELTREE.COM - delete a complete directory tree
- X$
- X$ !`09P1 = pathname of root of tree to delete
- X$
- X$ !`09All files and directories in the tree, including
- X$ !`09the named root directory, are deleted. `20
- X$ !`09For instance,`20
- X$ !
- X$ !`09@DELTREE `5BUSER.SUBDIR`5D
- X$ !
- X$ !`09deletes everything in `5BUSER.SUBDIR...`5D, and also `5BUSER`5DSUBDIR.
- VDIR;1 .
- X$ !
- X$ !`09Note: There are faster ways to do this, but this is so elegant. `20
- X$
- X$`09old_priv = f$setprv("BYPASS")`09`09! ensure we can delete files
- X$`09on control_y then goto done
- X$`09on warning then goto done
- X$ `09default = f$logical("SYS$DISK") + f$directory()
- X$
- X$GET_PARAM:
- X$`09if p1 .eqs. "" then exit
- X$
- X$`09p1 = p1 - "..."`09`09`09`09! don't want elipsis
- X$`09p1_dir = f$parse(p1,,,"DIRECTORY") - "`5D"! get the direc spec w/o trlng
- V `5D
- X$`09if p1_dir .eqs. "" then goto bad_param`09! check for errors
- X$`09p1_nd = f$parse(p1,,,"NODE") + -`09! parse for errors
- X`09 f$parse(p1,,,"DEVICE")
- X$`09p1 = p1_nd + p1_dir
- X$`09if p1 .eqs. "" then goto bad_param`09! Report error, exit
- X$
- X$ !`09set default to the root of the tree
- X$
- X$`09set default 'p1'`5D
- X$
- X$ !`09delete each tree under the current default
- X$
- X$DIR_LOOP:
- X$`09sub_dir = f$search("*.DIR;*")
- X$`09if sub_dir .eqs. "" then goto end_dir_loop
- X$`09sub_dir_name = f$parse(sub_dir,,,"NAME")
- X$`09@'f$envi("PROCEDURE")' `5B.'sub_dir_name'`5D
- X$`09goto dir_loop
- X$END_DIR_LOOP:
- X$
- X$ !`09now there are no .DIRs here, delete everything else.
- X$
- X$`09if f$search("*.*;*") .eqs. "" then goto del_root
- X$`09write sys$output "Deleting ''p1'`5D*.*;*"
- X$`09on warning then goto del_root
- X$!!!`09set file/prot=o:rwed *.*;*
- X$`09delete *.*;*
- X$
- X$ !`09finally, delete the .DIR for the current default. `20
- X$
- X$DEL_ROOT:
- X$
- X$ !`09we set the default up one level, then remove the resulting default
- X$ !`09directory string from the original root directory spec, so we're`20
- X$ !`09left with the file name of the .DIR to be deleted. The character
- X$ !`09expression used here works properly even when the root is a ufd. `20
- X$
- X$`09set default `5B-`5D
- X$`09top_dir = ((p1_dir - (f$directory() - "`5D")) - "." - "`5B") + ".DIR;1"
- X$`09on warning then goto done
- X$`09write sys$output "Deleting ''p1_nd'''f$directory()'''top_dir'"
- X$`09set file/prot=w:rwed 'top_dir'
- X$`09delete 'top_dir'
- X$`09goto done
- X$`09
- X$BAD_PARAM:
- X$`09write sys$output "COULD NOT FIND ROOT"
- X$
- X$DONE:
- X$`09set default 'default'
- X$`09junk = f$setprv (old_priv)
- X$`09junk = f$veri(old_veri)
- $ CALL UNPACK DELTREE.COM;4 643486790
- $ create 'f'
- X.suffixes .uid .uil
- X.uil.uid
- X`09UIL/MOTIF $(mms$source)
- X
- Xbuild : dwprofile.exe, dwprofile.uid, access.uid, privs.uid, idents.uid, dwp
- Vrofile.hlb`20
- X`09!done
- X
- Xdwprofile.exe : dwprofile.obj
- X`09$(link) $(linkflags) $(mms$source_list),motif/opt
- X
- Xdwprofile.obj : dwprofile.c, dwpdef.h
- X
- Xdwprofile.uid : dwprofile.uil, text.uil, flags.uil, quotas.uil, buttons.uil
- X
- Xdeb :`20
- X`09cflags = "/noopt/debug/define=debug"
- X`09linkflags = "/deb"
- X`09if "''f$search("dwprofile.obj")'" .nes. "" then delete/nolog dwprofile.ob
- Vj;*
- X`09mms /override
- $ CALL UNPACK DESCRIP.MMS;39 242296416
- $ create 'f'
- X/* DWprofile table definitions */
- X
- X#include uaidef
- X#include <X11/Intrinsic.h>
- X#include <Mrm/MrmAppl.h>
- X
- X#define NO 0
- X#define OFF 0
- X#define ON 1
- X
- X#define k_widget_uic_trans 7 /* unused UAI codes */
- X#define k_widget_held_list 8 /* for non-UAI widgets */
- X#define k_widget_all_list 9
- X
- X#define k_hours_height 16
- X#define MAX_WIDGET UAI$_MAX_ITEM_CODE
- X#define PRIVS_BIAS 40
- X#define MAX_PRIVS PRIVS_BIAS * 2
- X#define MAX_PRIME 7 /* number of prime day widgets */
- X#define MAX_FLAGS 20 /* number of flag widgets */
- X#define access_menu 0
- X#define accounts_menu 1
- X#define idents_menu 2
- X#define privs_menu 3
- X#define functions_menu 4
- X#define find_menu 5
- X#define find_button 6
- X#define restart_button 7
- X#define MAX_MENUS (restart_button + 1)
- X#define SDATA_LEN 65 /* size of largest UAI item + 1 */
- X
- X/* Type of UAF element */
- X
- X#define DWP_LALPHA`091`09/* Alpha with length byte */
- X#define DWP_INT`09`092`09/* Integer */
- X#define DWP_TIME`093`09/* 3 byte time vector */
- X#define DWP_DATE`094`09/* Date */
- X#define DWP_PRIV`095`09/* Priv vector */
- X#define DWP_FLAG`096`09/* Login flags */
- X#define DWP_UIC`09`097`09/* UIC */
- X#define DWP_PRIME`098`09/* Primary/seconday days */
- X#define DWP_ENCR`099`09/* Encrypted password */
- X#define DWP_ALPHA`0910`09/* Alpha, no length byte */
- X#define DWP_CPU`09`0911`09/* CPU time in 10 ms units */
- X#define DWP_RDATE`0912`09/* Read-only Date */
- X#define DWP_RINT`0913`09/* Read-only Integer */
- X
- X/* array of UAF elements */
- Xstruct `7B
- X int code, size, type;
- X`7D items`5B`5D = `7B
- X `7BUAI$_ACCOUNT, 32, DWP_ALPHA`7D,
- X `7BUAI$_ASTLM, 2, DWP_INT`7D,
- X `7BUAI$_BATCH_ACCESS_P, 3, DWP_TIME`7D,
- X `7BUAI$_BATCH_ACCESS_S, 3, DWP_TIME`7D,
- X `7BUAI$_BIOLM, 2, DWP_INT`7D,
- X `7BUAI$_BYTLM, 4, DWP_INT`7D,
- X `7BUAI$_CLITABLES, 32, DWP_LALPHA`7D,
- X `7BUAI$_CPUTIM, 4, DWP_CPU`7D,
- X `7BUAI$_DEFCLI, 32, DWP_LALPHA`7D,
- X `7BUAI$_DEFDEV, 32, DWP_LALPHA`7D,
- X `7BUAI$_DEFDIR, 64, DWP_LALPHA`7D,
- X `7BUAI$_DEF_PRIV, 8, DWP_PRIV`7D,
- X `7BUAI$_DFWSCNT, 4, DWP_INT`7D,
- X `7BUAI$_DIOLM, 2, DWP_INT`7D,
- X `7BUAI$_DIALUP_ACCESS_P, 3, DWP_TIME`7D,
- X `7BUAI$_DIALUP_ACCESS_S, 3, DWP_TIME`7D,
- X `7BUAI$_ENQLM, 2, DWP_INT`7D,
- X `7BUAI$_EXPIRATION, 8, DWP_DATE`7D,
- X `7BUAI$_FILLM, 2, DWP_INT`7D,
- X `7BUAI$_FLAGS, 4, DWP_FLAG`7D,
- X `7BUAI$_JTQUOTA, 4, DWP_INT`7D,
- X `7BUAI$_LGICMD, 64, DWP_LALPHA`7D,
- X `7BUAI$_LASTLOGIN_I, 8, DWP_RDATE`7D,
- X `7BUAI$_LASTLOGIN_N, 8, DWP_RDATE`7D,
- X `7BUAI$_LOCAL_ACCESS_P, 3, DWP_TIME`7D,
- X `7BUAI$_LOCAL_ACCESS_S, 3, DWP_TIME`7D,
- X `7BUAI$_LOGFAILS, 2, DWP_RINT`7D,
- X `7BUAI$_MAXACCTJOBS, 2, DWP_INT`7D,
- X `7BUAI$_MAXDETACH, 2, DWP_INT`7D,
- X `7BUAI$_MAXJOBS, 2, DWP_INT`7D,
- X `7BUAI$_NETWORK_ACCESS_P, 3, DWP_TIME`7D,
- X `7BUAI$_NETWORK_ACCESS_S, 3, DWP_TIME`7D,
- X `7BUAI$_OWNER, 32, DWP_LALPHA`7D,
- X `7BUAI$_PBYTLM, 4, DWP_INT`7D,
- X `7BUAI$_PGFLQUOTA, 4, DWP_INT`7D,
- X `7BUAI$_PRCCNT, 2, DWP_INT`7D,
- X `7BUAI$_PRI, 1, DWP_INT`7D,
- X `7BUAI$_PRIMEDAYS, 1, DWP_PRIME`7D,
- X `7BUAI$_PRIV, 8, DWP_PRIV`7D,
- X `7BUAI$_PWD, 8, DWP_ENCR`7D,
- X `7BUAI$_PWD_DATE, 8, DWP_RDATE`7D,
- X `7BUAI$_PWD_LENGTH, 1, DWP_INT`7D,
- X `7BUAI$_PWD_LIFETIME, 8, DWP_DATE`7D,
- X `7BUAI$_PWD2_DATE, 8, DWP_RDATE`7D,
- X `7BUAI$_QUEPRI, 1, DWP_INT`7D,
- X `7BUAI$_REMOTE_ACCESS_P, 3, DWP_TIME`7D,
- X `7BUAI$_REMOTE_ACCESS_S, 3, DWP_TIME`7D,
- X `7BUAI$_SHRFILLM, 2, DWP_INT`7D,
- X `7BUAI$_TQCNT, 2, DWP_INT`7D,
- X `7BUAI$_UIC, 4, DWP_UIC`7D,
- X `7BUAI$_USERNAME, 12, DWP_ALPHA`7D,
- X `7BUAI$_WSEXTENT, 4, DWP_INT`7D,
- X `7BUAI$_WSQUOTA, 4, DWP_INT`7D,`20
- X `7BNULL, NULL, NULL`7D
- X`7D;
- X
- X/* array of UAF elements that can be selected for the 'find' button */
- X/* indexed by k_*_select in buttons.uil */
- Xstruct `7B
- X int code, size, type;
- X String name;
- X`7D select_data`5B`5D = `7B
- X `7BUAI$_USERNAME, 12, DWP_ALPHA, "Username"`7D,
- X `7BUAI$_ACCOUNT, 32, DWP_ALPHA, "Account"`7D,
- X `7BUAI$_OWNER, 32, DWP_LALPHA, "Owner"`7D,
- X `7BUAI$_UIC, 4, DWP_UIC, "UIC"`7D,
- X `7BUAI$_DEFDEV, 32, DWP_LALPHA, "Device"`7D,
- X `7BUAI$_DEFDIR, 64, DWP_LALPHA, "Directory"`7D,
- X `7BUAI$_DEFCLI, 32, DWP_LALPHA, "CLI"`7D,
- X `7BUAI$_LGICMD, 64, DWP_LALPHA, "LGICMD"`7D,
- X `7BUAI$_CLITABLES, 32, DWP_LALPHA, "DCL Table"`7D,
- X `7BUAI$_PWD_LIFETIME, 8, DWP_DATE, "Pwdlifetime"`7D,
- X `7BUAI$_EXPIRATION, 8, DWP_DATE, "Expire Date"`7D,
- X `7BUAI$_LOGFAILS, 2, DWP_RINT, "Login failures"`7D,
- X `7B NULL, NULL, NULL, NULL`7D
- X`7D;
- X
- X
- X/* ubiquitous itemlist3 */
- Xstruct itemlist3 `7B
- X short buflen;
- X short itmcode;
- X char *bufadr;
- X short *retadr;
- X`7D;
- X
- Xtypedef unsigned short int ushort;
- X
- X/* Identifier list node structure */
- Xtypedef struct ident_node `7B
- X String name; /* name of identifier */
- X Cardinal identifier; /* value of identifier */
- X enum `7Buic_ident, account, intern_ident, user_ident`7D status;
- X /* uic_ident = `5Bn,m`5D type identifier */
- X /* account = `5Bn,*`5D type identifier */
- X /* intern_ident = interactive, batch, sys$node_x */
- X /* user_ident = regular identifier (%x080010000+n)
- V */
- X struct ident_node *next;
- X`7D ident;
- X
- X/* Held identifier list node structure */
- Xtypedef struct held_node `7B
- X String name; /* name of identifier */
- X Cardinal identifier; /* value of identifier */
- X enum `7Boriginal, del_orig, add_ident`7D status;
- X /* original = identifier was held when user read in
- V */
- X /* del_orig = original identifier to be removed upo
- Vn write */
- X /* add_ident = identifier to be added upon write */
- X struct held_node *next;
- X`7D held_ident;
- X
- X
- X/* non-widget resources */
- Xtypedef struct `7B
- X Cardinal quota, overdraft, version_limit, minimum_group, maximum_group,
- X hour_size;
- X int read_interval, write_interval, find_interval;
- X String default_ident;
- X Boolean show_access, show_accounts, show_idents, show_privs, show_work;
- X`7D ApplicationData, *ApplicationDataPtr;
- X
- Xstatic XtResource resources`5B`5D = `7B
- X `7B"defaultIdent", "DefaultIdent", XtRString, sizeof(String),
- X XtOffset(ApplicationDataPtr, default_ident), XtRString, ""`7D,
- X `7B"hourSize", "HourSize", XtRInt, sizeof(int),
- X XtOffset(ApplicationDataPtr, hour_size), XtRString, "7"`7D,
- X `7B"readNotifyInterval", "PopupTime", XtRInt, sizeof(int),
- X XtOffset(ApplicationDataPtr, read_interval), XtRString, "-2"`7D,
- X `7B"writeNotifyInterval", "PopupTime", XtRInt, sizeof(int),
- X XtOffset(ApplicationDataPtr, write_interval), XtRString, "-2"`7D,
- X `7B"findNotifyInterval", "PopupTime", XtRInt, sizeof(int),
- X XtOffset(ApplicationDataPtr, find_interval), XtRString, "-1"`7D,
- X `7B"overdraft", "Overdraft", XtRInt, sizeof(int),
- X XtOffset(ApplicationDataPtr, overdraft), XtRString, "0"`7D,
- X `7B"quota", "Quota", XtRInt, sizeof(int),
- X XtOffset(ApplicationDataPtr, quota), XtRString, "0"`7D,
- X `7B"showAccess", "ShowAccess", XtRBoolean, sizeof(Boolean),
- X XtOffset(ApplicationDataPtr, show_access), XtRString, "False"`7D,
- X `7B"showAccounts", "AutoShow", XtRBoolean, sizeof(Boolean),
- X XtOffset(ApplicationDataPtr, show_accounts), XtRString, "False"`7D,
- X `7B"showPrivs", "AutoShow", XtRBoolean, sizeof(Boolean),
- X XtOffset(ApplicationDataPtr, show_privs), XtRString, "False"`7D,
- X `7B"showIdents", "AutoShow", XtRBoolean, sizeof(Boolean),
- X XtOffset(ApplicationDataPtr, show_idents), XtRString, "False"`7D,
- X `7B"showWorkBox", "AutoShow", XtRBoolean, sizeof(Boolean),
- X XtOffset(ApplicationDataPtr, show_work), XtRString, "True"`7D,
- +-+-+-+-+-+-+-+- END OF PART 1 +-+-+-+-+-+-+-+-
-