X-NEWS: acfclu vmsnet.sources: 804
Path: cmcl2!yale.edu!spool.mu.edu!agate!dog.ee.lbl.gov!network.ucsd.edu!mvb.saic.com!vmsnet-sources
From: gjc@mitech.com (George J. Carrette)
Newsgroups: vmsnet.sources
Subject: MIT X11R5 XAW FOR VMS-SPECIFICS, part 01/01
Message-ID: <6638607@MVB.SAIC.COM>
Date: 21 May 92 23:17:25 GMT
Article-I.D.: MVB.6638607
Organization: Mitech Corporation, Concord MA
Lines: 1243
Approved: Mark.Berryman@Mvb.Saic.Com

Submitted-by: gjc@mitech.com (George J. Carrette)
Posting-number: Volume 3, Issue 1
Archive-name: x11r5_athena_widget_support/part01

This is a kit to allow you to build the MIT X11R5 versions
of the Athena Widget Set (XAW and XMU libraries) under
VMS 5.4 using a Decwindows Motif 1.0 base. 

You must obtain the Xaw and Xaw source directories from the MIT X11R5
distribution. No modifications to those sources are needed!

$! ................... Cut between dotted lines and save. ...................
$!...........................................................................
$! VAX/VMS archive file created by VMS_SHARE V06.10 7-FEB-1989.
$!
$! VMS_SHARE was written by James Gray (Gray:OSBUSouth@Xerox.COM) from
$! VMS_SHAR by Michael Bednarek (U3369429@ucsvc.dn.mu.oz.au).
$!
$! To unpack, simply save, concatinate all parts into one file and
$! execute (@) that file.
$!
$! This archive was created by user GJC
$! on 12-MAY-1992 11:50:39.96.
$!
$! It contains the following 19 files:
$!        AAA_RUNME.COM
$!        DESCRIP.MMS-XAW
$!        DESCRIP.MMS-XMU
$!        GETFNCS.COM
$!        LOGICALS.COM
$!        MAKE.COM
$!        PARAM.H
$!        README.VMS
$!        SOCKET.H
$!        USER.OPT
$!        VMS.C
$!        VMS.NOTES
$!        XAWSHR.OPT
$!        XAWSHR.PSECTS
$!        XFUNCPROTO.H
$!        XFUNCS.H
$!        XMUSHR.OPT
$!        XMUSHR.PSECTS
$!        XOSDEFS.H
$!
$!============================================================================
$ SET SYMBOL/SCOPE=( NOLOCAL, NOGLOBAL )
$ VERSION = F$GETSYI( "VERSION" )
$ IF VERSION .GES "V4.4" THEN GOTO VERSION_OK
$ WRITE SYS$OUTPUT "You are running VMS ''VERSION'; ", -
    "VMS_SHARE V06.10 7-FEB-1989 requires VMS V4.4 or higher."
$ EXIT 44 ! SS$_ABORT
$VERSION_OK:
$ GOTO START
$!
$UNPACK_FILE:
$ WRITE SYS$OUTPUT "Creating ''FILE_IS'"
$ DEFINE/USER_MODE SYS$OUTPUT NL:
$ EDIT/TPU/COMMAND=SYS$INPUT/NODISPLAY/OUTPUT='FILE_IS'/NOSECTION -
    VMS_SHARE_DUMMY.DUMMY
b_part := CREATE_BUFFER( "{Part}", GET_INFO( COMMAND_LINE, "file_name" ) )
; s_file_spec := GET_INFO( COMMAND_LINE, "output_file" ); SET( OUTPUT_FILE
, b_part, s_file_spec ); b_errors := CREATE_BUFFER( "{Errors}" ); i_errors 
:= 0; pat_beg_1 := ANCHOR & "-+-+-+ Beginning"; pat_beg_2 := LINE_BEGIN 
& "+-+-+-+ Beginning"; pat_end := ANCHOR & "+-+-+-+-+ End"; POSITION
( BEGINNING_OF( b_part ) ); LOOP EXITIF SEARCH( SPAN( ' ' )@r_trail 
& LINE_END, FORWARD) = 0; POSITION( r_trail ); ERASE( r_trail ); ENDLOOP
; POSITION( BEGINNING_OF( b_part ) ); i_append_line := 0; LOOP EXITIF MARK
( NONE ) = END_OF( b_part ); s_x := ERASE_CHARACTER( 1 )
; IF s_x = '+' THEN r_skip := SEARCH( pat_beg_1, FORWARD, EXACT ); IF r_skip 
<> 0 THEN s_x := ''; MOVE_HORIZONTAL( -CURRENT_OFFSET ); ERASE_LINE; ENDIF
; ENDIF; IF s_x = '-' THEN r_skip := SEARCH( pat_end, FORWARD, EXACT )
; IF r_skip <> 0 THEN s_x := ''; MOVE_HORIZONTAL( -CURRENT_OFFSET ); m_skip 
:= MARK( NONE ); r_skip := SEARCH( pat_beg_2, FORWARD, EXACT ); IF r_skip 
<> 0 THEN POSITION( END_OF( r_skip ) ); MOVE_HORIZONTAL( -CURRENT_OFFSET )
; MOVE_VERTICAL( 1 ); MOVE_HORIZONTAL( -1 ); ELSE POSITION( END_OF( b_part ) 
); ENDIF; ERASE( CREATE_RANGE( m_skip, MARK( NONE ), NONE ) ); ENDIF; ENDIF
; IF s_x = 'V' THEN s_x := ''; IF i_append_line <> 0 THEN APPEND_LINE
; MOVE_HORIZONTAL( -CURRENT_OFFSET ); ENDIF; i_append_line := 1
; MOVE_VERTICAL( 1 ); ENDIF; IF s_x = 'X' THEN s_x := ''; IF i_append_line 
<> 0 THEN APPEND_LINE; MOVE_HORIZONTAL( -CURRENT_OFFSET ); ENDIF
; i_append_line := 0; MOVE_VERTICAL( 1 ); ENDIF; IF s_x <> '' THEN i_errors 
:= i_errors + 1; s_text := CURRENT_LINE; POSITION( b_errors ); COPY_TEXT
( "The following line could not be unpacked properly:" ); SPLIT_LINE
; COPY_TEXT( s_x ); COPY_TEXT( s_text ); POSITION( b_part ); MOVE_VERTICAL
( 1 ); ENDIF; ENDLOOP; POSITION( BEGINNING_OF( b_part ) ); LOOP r_x := SEARCH
( "`", FORWARD, EXACT ); EXITIF r_x = 0; POSITION( r_x ); ERASE_CHARACTER( 1 
); COPY_TEXT( ASCII( INT( ERASE_CHARACTER( 3 ) ) ) ); ENDLOOP
; IF i_errors = 0 THEN SET( NO_WRITE, b_errors, ON ); ELSE POSITION
( BEGINNING_OF( b_errors ) ); COPY_TEXT( FAO
( "The following !UL errors were detected while unpacking !AS", i_errors
, s_file_spec ) ); SPLIT_LINE; SET( OUTPUT_FILE, b_errors, "SYS$COMMAND" )
; ENDIF; EXIT; 
$ DELETE VMS_SHARE_DUMMY.DUMMY;*
$ CHECKSUM 'FILE_IS
$ WRITE SYS$OUTPUT " CHECKSUM ", -
  F$ELEMENT( CHECKSUM_IS .EQ. CHECKSUM$CHECKSUM, ",", "failed!!,passed." )
$ RETURN
$!
$START: 
$ FILE_IS = "AAA_RUNME.COM"
$ CHECKSUM_IS = 1980756596
$ COPY SYS$INPUT VMS_SHARE_DUMMY.DUMMY
X$! Run this procedure to move files to their proper
X$! directories.
X$ CREATE/DIR [.INCLUDE]
X$ CREATE/DIR [.INCLUDE.SYS]
X$ CREATE/DIR [.INCLUDE.X11]
X$ CREATE/DIR [.XMU]
X$ CREATE/DIR [.XAW]
X$!
X$ PURGE
X$ RENAME PARAM.H   [.INCLUDE.SYS]
X$ RENAME SOCKET.H  [.INCLUDE.SYS]
X$!
X$ RENAME XFUNCPROTO.H [.INCLUDE.X11]
X$ RENAME XFUNCS.H     [.INCLUDE.X11]
X$ RENAME XOSDEFS.H    [.INCLUDE.X11]
X$!
X$ RENAME VMS.C             [.XMU]
X$ RENAME DESCRIP.MMS-XMU   [.XMU]DESCRIP.MMS
X$ RENAME XMUSHR.OPT        [.XMU]
X$ RENAME XMUSHR.PSECTS     [.XMU]
X$ RENAME DESCRIP.MMS-XAW   [.XAW]DESCRIP.MMS
X$ RENAME XAWSHR.OPT        [.XAW]
X$ RENAME XAWSHR.PSECTS     [.XAW]
X$ RENAME USER.OPT          [.XAW]
X$!
X$ WRITE SYS$OUTPUT "All done"
$ GOSUB UNPACK_FILE

$ FILE_IS = "DESCRIP.MMS-XAW"
$ CHECKSUM_IS = 89874475
$ COPY SYS$INPUT VMS_SHARE_DUMMY.DUMMY
V! Makefile to build MIT X11R5 Athena Widget Set under VMS DECWINDOWS MOTIF 1.
X0
X! 29-APR-92 GJC@MITECH.COM
X
XCFLAGS = /DEBUG/NOOPTIMIZE/DEFINE="XPointer char *"
X!LFLAGS = /DEBUG/MAP=$(MMS$TARGET_NAME).MAP/FULL
XLFLAGS =`032
X
XOBJS = `009\
X`009AsciiSink.obj, \
X`009AsciiText.obj, \
X`009Box.obj, \
X`009Clock.obj, \
X`009Command.obj, \
X`009Dialog.obj, \
X`009Form.obj, \
X`009Grip.obj, \
X`009Label.obj, \
X`009List.obj, \
X`009MenuButton.obj, \
X`009Paned.obj, \
X`009Panner.obj, \
X`009Porthole.obj, \
X`009Repeater.obj, \
X`009Scrollbar.obj, \
X`009SimpleMenu.obj, \
X`009Sme.obj, \
X`009SmeBSB.obj, \
X`009SmeLine.obj, \
X`009StripChart.obj, \
X`009Text.obj, \
X`009TextSink.obj, \
X`009TextSrc.obj, \
X        TextAction.obj, \
X`009TextPop.obj, \
X`009TextTr.obj, \
X`009Toggle.obj, \
X`009Tree.obj, \
X`009Viewport.obj, \
X`009XawInit.obj, \
X`009AsciiSrc.obj, \
X`009Simple.obj
X
X! removed from list
X!`009Logo.obj, \
X!`009Mailbox.obj, \
X! AllWidgets.obj, \
X!      Vendor.obj
X
X
X
XSYSTEM depends_on XAWSHR.EXE
X !(ALL DONE)
X
XXAWSHR.EXE depends_on $(OBJS),XAWSHR.OPT,XAWSHR.PSECTS
X LINK/SHARE$(LFLAGS)-
X /EXE=$(MMS$TARGET_NAME).EXE $(OBJS),-
X XAWSHR.OPT/OPT,XAWSHR.PSECTS/OPT,-
X X11_XMU:XMUSHR.PSECTS/OPT
X
X
$ GOSUB UNPACK_FILE

$ FILE_IS = "DESCRIP.MMS-XMU"
$ CHECKSUM_IS = 1916425195
$ COPY SYS$INPUT VMS_SHARE_DUMMY.DUMMY
V! Makefile to build MIT X11R5 Athena Widget Set under VMS DECWINDOWS MOTIF 1.
X0
X! 29-APR-92 GJC@MITECH.COM
X
XCFLAGS = /DEBUG/NOOPTIMIZE/DEFINE="XPointer char *"
X!LFLAGS = /DEBUG/MAP=$(MMS$TARGET_NAME).MAP/FULL
XLFLAGS =
X
XOBJS = \
X`009AllCmap.obj, \
X`009Atoms.obj, \
X`009ClientWin.obj, \
X`009CloseHook.obj, \
X`009CmapAlloc.obj, \
X`009CrCmap.obj, \
X`009CrPixFBit.obj, \
X`009CursorName.obj, \
X`009CvtStdSel.obj, \
X`009DelCmap.obj, \
X`009DisplayQue.obj, \
X`009Distinct.obj, \
X`009DrawLogo.obj, \
X`009DrRndRect.obj, \
X`009EditresCom.obj, \
X`009FToCback.obj, \
X`009GetHost.obj, \
X`009GrayPixmap.obj, \
X`009Initer.obj, \
X`009Lookup.obj, \
X`009LookupCmap.obj, \
X`009Lower.obj, \
X`009RdBitF.obj, \
X`009ScrOfWin.obj, \
X`009StdCmap.obj, \
X`009StrToBS.obj, \
X`009StrToLong.obj, \
X`009StrToShap.obj, \
X`009UpdMapHint.obj, \
X`009VisCmap.obj, \
X`009WidgetNode.obj, \
X`009Xct.obj, \
X        vms.obj, \
X`009LocBitmap.obj, \
X`009StrToBmap.obj, \
X`009StrToJust.obj, \
X`009StrToOrnt.obj, \
X`009CvtCache.obj, \
X`009StrToCurs.obj, \
X`009StrToWidg.obj, \
X`009StrToGrav.obj
X
X! removed from list
X! DefErrMsg.obj, \
X!`009ShapeWidg.obj, \
X
X
X
X
X
XSYSTEM depends_on XMUSHR.EXE
X !(ALL DONE)
X
XXMUSHR.EXE depends_on $(OBJS),XMUSHR.OPT,XMUSHR.PSECTS
X LINK/SHARE$(LFLAGS)-
X /EXE=$(MMS$TARGET_NAME).EXE $(OBJS),-
X XMUSHR.OPT/OPT,XMUSHR.PSECTS/OPT
$ GOSUB UNPACK_FILE

$ FILE_IS = "GETFNCS.COM"
$ CHECKSUM_IS = 874925344
$ COPY SYS$INPUT VMS_SHARE_DUMMY.DUMMY
X$! Simple DCL script to grab names of routines
X$! which an external user is supposed to be able
X$! to call. The assumption is that these are all the routines
X$! which are documented in the .H files.
X$! 25-APR-92 GJC@MITECH.COM
X$!
X$! Note: This works fine for me on libraries of files from the
X$!       MIT X-Window Release X11R5. Your luck may vary.
X$!
X$ WRITE SYS$OUTPUT "Searching .H files"
X$ search *.h "extern","("/match=and/nohead/out=getfncs.tmp
X$ WRITE SYS$OUTPUT "Processing external definitions found"
X$ if f$trn("IN") .nes. "" then close IN
X$ if f$trn("OUT") .nes. "" then close OUT
X$ open/read in getfncs.tmp
X$ open/write out getfncs.universal
X$loop1:
X$ read/end=endloop1 in rec
X$ ridlist = "* ("
X$ j = 0
X$loop2:
X$ rid = f$element(j," ",ridlist)
X$ if rid .eqs. " " then goto endloop2
X$loop3:
X$ n = f$length(rec)
X$ k = f$locate(rid,rec)
X$ if k .eq. n then goto endloop3
X$ rec = f$extract(0,k,rec) + f$extract(k+1,n-k-1,rec)
X$ goto loop3
X$endloop3:
X$ j = j + 1
X$ goto loop2
X$endloop2:
X$ rec = f$edit(rec,"TRIM")
X$loop4:
X$ n = f$length(rec)
X$ k = f$locate(" ",rec)
X$ if k .eq. n then goto endloop4
X$ rec = f$extract(k+1,n-k-1,rec)
X$ goto loop4
X$endloop4:
X$ write out "UNIVERSAL=" + rec
X$goto loop1
X$endloop1:
X$close in
X$close out
X$ WRITE SYS$OUTPUT "done"
$ GOSUB UNPACK_FILE

$ FILE_IS = "LOGICALS.COM"
$ CHECKSUM_IS = 947717229
$ COPY SYS$INPUT VMS_SHARE_DUMMY.DUMMY
X$! Set up logical names for building and using X11R5 XMU and XAW
X$! under VMS.
X$! 29-APR-92 GJC@MITECH.COM
X$! 12-MAY-92 Updated, per suggestion TP@MCCALL.COM MPARISI@JPL.NASA.GOV
X$!
X$ MYFILE = F$ENVIRONMENT("PROCEDURE")
X$ MYNOD = F$PARSE(MYFILE,,,"NODE","NO_CONCEAL")
X$ MYDEV = F$PARSE(MYFILE,,,"DEVICE","NO_CONCEAL")
X$ MYDIR = F$PARSE(MYFILE,,,"DIRECTORY","NO_CONCEAL")
X$!
X$loop:
X if f$locate("][",mydir) .eq. f$length(mydir) then goto endloop
X$ mydir = mydir - "]["
X$ goto loop
X$endloop:
X$ myroot = MYNOD + MYDEV + mydir - "]" + ".]"
X$!
X$ WRITE SYS$OUTPUT "X11R5 directory is ''MYROOT'"
X$!
X$ DEFINE/TRANS=(CONC) X11R5_ROOT 'MYROOT'
X$!
X$ define x11 'MYROOT',X11R5_ROOT:[INCLUDE.X11],decw$include
X$ define sys X11R5_ROOT:[INCLUDE.SYS],sys$library:
X$!
X$ define x11_xmu X11r5_root:[xmu]
X$ define x11_xaw X11r5_root:[xaw]
X$!
X$ define xmushr X11r5_root:[xmu]xmushr.exe
X$ define xawshr X11r5_root:[xaw]xawshr.exe
$ GOSUB UNPACK_FILE

$ FILE_IS = "MAKE.COM"
$ CHECKSUM_IS = 1192035279
$ COPY SYS$INPUT VMS_SHARE_DUMMY.DUMMY
X$ @user$disk:[gjc.x11r5]logicals
X$ set default x11_xmu:
X$ mms
X$ mms
X$ set default x11_xaw:
X$ mms
$ GOSUB UNPACK_FILE

$ FILE_IS = "PARAM.H"
$ CHECKSUM_IS = 1310394408
$ COPY SYS$INPUT VMS_SHARE_DUMMY.DUMMY
X/* a no-op file, just so we do not need to mung
X   conditionalized #include <> hair */
X
$ GOSUB UNPACK_FILE

$ FILE_IS = "README.VMS"
$ CHECKSUM_IS = 1248732134
$ COPY SYS$INPUT VMS_SHARE_DUMMY.DUMMY
XHow to build X11R5 XMU and XAW in VMS Decwindows Motif 1.0`032
X
X29-APR-92 GJC@MITECH.COM
X
XAssuming that you have unpacked the VMS_SHAR archive to
Xthe current directory, which you want to use as the root
Xof the source/build hierarchy, set default into it,
Xand create a directory structure with subdirectories,
Xsay [MYDIR.X11R5]
X
X  $ @AAA_RUNME
X
XWhich will set up the following subdirectories of that directory:
X
X[.X11R5.INCLUDE.X11] some files from regular /usr/include/X11 are here.
X
X               Xfuncproto.h
X               Xfuncs.h
X               Xosdefs.h
X
X[.X11R5.INCLUDE.SYS] has some other files.
X
X[.X11R5.XMU] you must additionally place files from mit/lib/Xmu
X[.X11R5.XAW] you must additionally place files from mit/lib/Xaw
X
XThe XMU and XAW sources from X11R5 total 172 files, 2795 blocks,
Xtherefore they are not distributed with this VMS-specific package.
X
XThen set up the logical names,
X
X $@[.X11R5]LOGICALS
X
XThen, fix a minor big in the file ASCIISRC.C,
X
X   Before:
X
X       /* Keep the compiler happy */       NULL
X
X   After:
X
X       /* Keep the compiler happy */       0
X
XYes, sometimes when people say NULL they really should say 0.
X
XThen build:
X
X $ SET DEFAULT X11_XMU:
X $ MMS
X $ MMS ! need to MMS twice because of warnings.
X $ SET DEFAULT X11_XAW:
X $ MMS
X`032
X
XTo -USE- the resulting libraries, include files from <x11_xaw/...>
Xand link with
X
X $ link file1.obj,file2.obj, -
X        x11_xmu:xmushr.psects/opt,
X        x11_xaw:xawshr.psects/opt,
X        x11_xaw:user.opt/opt
X
XWhich will work for a typical application program using the
Xathena widget set.
X
X-----------------------------------------
X
XOther software:
X
XIf you are involved in using or writing software that
Xdoes Process Control or any management of information
Xrelating to Process Control, drop me a line. And enjoy
Xusing the Athena Widget Set ported to VMS.
X
XGeorge Carrette. GJC@MITECH.COM
X
$ GOSUB UNPACK_FILE

$ FILE_IS = "SOCKET.H"
$ CHECKSUM_IS = 1920887761
$ COPY SYS$INPUT VMS_SHARE_DUMMY.DUMMY
X/* another dummy file, since we dont really
X   want the definitions from sys$include:socket.h to be used
X */
$ GOSUB UNPACK_FILE

$ FILE_IS = "USER.OPT"
$ CHECKSUM_IS = 1297616074
$ COPY SYS$INPUT VMS_SHARE_DUMMY.DUMMY
Xsys$library:vaxcrtl/share
Xsys$library:decw$xlibshr/share
Xsys$library:decw$xtshr/share
Xx11_xmu:xmushr/share
Xx11_xaw:xawshr/share
$ GOSUB UNPACK_FILE

$ FILE_IS = "VMS.C"
$ CHECKSUM_IS = 105003362
$ COPY SYS$INPUT VMS_SHARE_DUMMY.DUMMY
X/* Crufty code for running XMU and XAW from MIT X11R5
X   in DECWINDOWS MOTIF 1.0 under VMS 5.4-3
X   26-APR-92 GJC@MITECH.COM
X
X   Some of the hacks in this code may or may not be reasonable.
X
X */
X
X#include <string.h>
X
X#include <X11/Xtos.h>
X#include <x11/Intrinsic.h>
X#include <X11/IntrinsicP.h>
X#include <X11/Xos.h>
X#include <X11/Object.h>
X#include <X11/ObjectP.h>
X
Xbcopy(char *from,char *to,long length)
X`123memcpy(to,from,length);`125
X
Xbzero(char *data,long length)
X`123memset(data,0,length);`125
X
Xchar *index(char *string,char character)
X`123return(strchr(string,character));`125
X
Xchar *rindex(char *string,char character)
X`123return(strrchr(string,character));`125
X
Xgethostname(char *buf, long maxlen)
X`123char *tmp;
X tmp = getenv("SYS$NODE");
X if (tmp)
X   `123strcpy(buf,tmp);
X    tmp = strchr(buf,':');
X    if (tmp)
X      *tmp = 0;`125
X else
X   buf[0] = 0;`125
X
Xunlink(char *filename)
X`123return(delete(filename));`125
X
Xchar *strdup(char *string)
X`123char *new;
X long n;
X n = strlen(string);
X new = (char *) malloc(n+1);
X if (new)
X   strcpy(new,string);
X return(new);`125
X
X
X/* this is used by XAW. And the following
X   definitions *might* work. Or will we have bad malloc/free problems?
X*/
X
XXrmQuark xrmpermstringtoquark(char *name)
X`123return(XrmStringToQuark(name));`125
X
X/* define the new name for this
X   in terms of the old name! */
X
XXrmDatabase XrmGetDatabase(Display *dpy)
X`123return(XtDatabase(dpy));`125
X
XXrmDatabase XtScreenDatabase(Screen *screen)
X`123Display *dpy;
X dpy = DisplayOfScreen(screen);
X return(XtDatabase(dpy));`125
X
Xvoid XrmSetDatabase(Display *dpy,XrmDatabase db)
X`123`125
X
X#define GetClassActions(wc) \
X  ((wc->core_class.actions) \
X? (((TMClassCache)wc->core_class.actions)->actions) \
X: NULL)
X
X
Xvoid XtGetActionList(widget_class, actions_return, num_actions_return)
X     WidgetClass widget_class;
X     XtActionList* actions_return;
X     Cardinal* num_actions_return;
X`123XtActionList list;
X int i;
X *actions_return = NULL;
X *num_actions_return = 0;
X if (! widget_class->core_class.class_inited)
X   return;
X *num_actions_return = widget_class->core_class.num_actions;
X if (*num_actions_return)
X   `123i = *num_actions_return * sizeof(XtActionsRec);
X    list = *actions_return = (XtActionList) XtMalloc(i);
X    memcpy(list,widget_class->core_class.actions,i);`125`125
X
Xlong XShapeQueryExtension(Display *dpy,long *x,long *y)
X`123return(0);`125
X
X
Xlong XmuReshapeWidget()
X`123return(0);`125
X
Xpurge_working_set()
X     /* Sometimes little X utilities can be real memory hogs
X`009for no good reason. Call this purge_working_set()
X`009at the right time after an application
X`009has thrashed up its initializations, and you will
X`009be pleasantly suprised! */
X`123long status,npages,nfaults;
X long inadr[2];
X inadr[0] = 0;
X inadr[1] = 0x7FFFFFFF;
X status = sys$purgws(&inadr);`125
$ GOSUB UNPACK_FILE

$ FILE_IS = "VMS.NOTES"
$ CHECKSUM_IS = 1699331420
$ COPY SYS$INPUT VMS_SHARE_DUMMY.DUMMY
X25-APR-92 GJC@MITECH.COM port of X11 R5 XMU and XAW procedures to VMS
Xin DECWINDOWS MOTIF 1.0.`032
X13-MAY-92 updated.
X
Xlogicals.com to define logicals x11, sys, x11_xmu, x11_xaw.
Xparam.h and socket.h set up as dummy (empty) files.
X
XNote: The setup for the logical name X11 is subtle, and works.
XYou can do a $DIRECTORY on X11:*.H and X11:[XMU]*.H, and see files.
X
XNO CHANGES NEED TO BE MADE TO THE THE SOURCE FILES, except for a fix
Xto a minor bug in the structure initialization of a record in ASCIISRC.C
X
XVMS.C created for some trivial undefined routines, bcopy, rindex, etc.
XHas routines needed by xmu and xaw, and also by various x clients
Xthat I have tried to run that also need xaw and xmu stuff.
XDefined xrmpermstringtoquark as XrmStringToQuark, will that work?
X
Xdescrip.mms made from imakefile.
X
Xdecw$xmushr.opt made using share_map_search utility,
X
XFILE,         PROBLEM                    Resolution.
X-------------------------------------------------------------------------
XDEFERRMSG.C   <X11/Xlibint.h> missing.   REJECT.
XSHAPEWIDG.C   <X11/extensions/shape.h>   REJECT. Defined stuff in VMS.C
XSTRTOCURS.C   had to defined XPointer
XSTRTOWIDG.C   had to defined XPointer
X
VASCIISRC.C    had to define Xpointer, had to change a NULL to 0 in struct ini
Xt.
XLOGO.C       <X11/extensions/shape.h> missing. REJECT.
XMAILBOX.C    <pwd.h> missing.            REJECT
XSIMPLE.C     had to define Xpointer
XTEXTPOP.C    SYS_ERRLIST
X
XVENDOR.C     getting %LINK-W-MULDEF on VENDORSHELLWIDGETCLASS.
X
XWhat is Xpointer? The funny thing about it is that it does not seem to
Xbe defined in the X11R5 <x11/> include files either!
X
X%LINK-W-MULPSC, conflicting attributes for psect SYS_ERRLIST
X
XA gratuitous extern declaration for sys_errlist, should be including
X#include <perror.h> instead, at least in VMS. Although there doesn't appear
Xto be any include file for this on any SUNOS system.
X
XA way this can be fixed, without touching the source file, is to
Xinclude the proper PSECT declaration in the linker options file.
X
XPSECT_ATTR=SYS_ERRLIST,NOSHR
X
X---
X
X%LINK-W-MULDEF, symbol VENDORSHELLCLASSREC multiply defined
X`009in module VENDOR file USER$DISK:[GJC.X11R5.XAW]VENDOR.OBJ;1
X%LINK-W-MULDEF, symbol VENDORSHELLWIDGETCLASS multiply defined
X`009in module VENDOR file USER$DISK:[GJC.X11R5.XAW]VENDOR.OBJ;1
X
XThis is subtle to track down.`032
X(1) you can notice that in the linker map that these two symbols are
Xdefined as symbols
X0002940C    RX-VENDORSHELLCLASSREC         `032
X00029410    RX-VENDORSHELLWIDGETCLASS      `032
X
XBut that other PSECT's defined by XAW such as other widget class
Xand records are not defined in that symbol table.
X
XThis is because only that symbol has been given an "externaldef"
Xdefinition. And it is conflicting with something...
Xwhat?
X
XWork around for now is to REJECT both VENDOR.C and ALLWIDGETS.C
X
$ GOSUB UNPACK_FILE

$ FILE_IS = "XAWSHR.OPT"
$ CHECKSUM_IS = 1531128994
$ COPY SYS$INPUT VMS_SHARE_DUMMY.DUMMY
X! VMS LINKER OPTIONS FILE for generating a shared library
X! from the XAW routines. (Most data in this file is automatically generated).
X!
X! To build MIT X11R5 Athena Widget Set under VMS DECWINDOWS MOTIF 1.0
X! 29-APR-92 GJC@MITECH.COM
X!
Xsys$library:vaxcrtl/share
Xsys$library:decw$xlibshr/share
Xsys$library:decw$xtshr/share
Xxmushr/share
X!
X! Some PSECTS that probably show up due to extern declarations
XPSECT_ATTR=_XTALLOCBUSY,NOSHR,LCL
XPSECT_ATTR=_XTALLOCLOCALARRAY,NOSHR,LCL
X!
X! Some PSECT declarations we have to "fix up" here
X! because of improper declarations given in the C source files.
X! These 3 here are typical because there seems to be no standard unix
X! /usr/include file that defines them.
XPSECT_ATTR=ERRNO,NOSHR
XPSECT_ATTR=SYS_ERRLIST,NOSHR
XPSECT_ATTR=sys_nerr,NOSHR
XPSECT_ATTR=sys_errlist,NOSHR
X!
XPSECT_ATTR=VENDORSHELLWIDGETCLASS,NOSHR,LCL
XPSECT_ATTR=VENDORSHELLCLASSREC,NOSHR,LCL
$ GOSUB UNPACK_FILE

$ FILE_IS = "XAWSHR.PSECTS"
$ CHECKSUM_IS = 470898156
$ COPY SYS$INPUT VMS_SHARE_DUMMY.DUMMY
X!(This file is automatically generated).
X! To build MIT X11R5 Athena Widget Set under VMS DECWINDOWS MOTIF 1.0
X! 29-APR-92 GJC@MITECH.COM
X!
XUNIVERSAL=XawAsciiSourceFreeString
XUNIVERSAL=XawAsciiSave
XUNIVERSAL=XawAsciiSaveAsFile
XUNIVERSAL=XawAsciiSourceChanged
XUNIVERSAL=XawDialogAddButton
XUNIVERSAL=XawDialogGetValueString
XUNIVERSAL=XawFormDoLayout
XUNIVERSAL=XawListChange
XUNIVERSAL=XawListUnhighlight
XUNIVERSAL=XawListHighlight
XUNIVERSAL=XawListShowCurrent
XUNIVERSAL=XawPanedSetMinMax
XUNIVERSAL=XawPanedGetMinMax
XUNIVERSAL=XawPanedSetRefigureMode
XUNIVERSAL=XawPanedGetNumSub
XUNIVERSAL=XawPanedAllowResize
XUNIVERSAL=XawScrollbarSetThumb
XUNIVERSAL=XawSimpleMenuAddGlobalActions
XUNIVERSAL=XawSimpleMenuGetActiveEntry
XUNIVERSAL=XawSimpleMenuClearActiveEntry
XUNIVERSAL=XawTextDisplay
XUNIVERSAL=XawTextEnableRedisplay
XUNIVERSAL=XawTextDisableRedisplay
XUNIVERSAL=XawTextSetSelectionArray
XUNIVERSAL=XawTextGetSelectionPos
XUNIVERSAL=XawTextSetSource
XUNIVERSAL=XawTextReplace
XUNIVERSAL=XawTextTopPosition
XUNIVERSAL=XawTextSetInsertionPoint
XUNIVERSAL=XawTextGetInsertionPoint
XUNIVERSAL=XawTextUnsetSelection
XUNIVERSAL=XawTextSetSelection
XUNIVERSAL=XawTextInvalidate
XUNIVERSAL=XawTextGetSource
XUNIVERSAL=XawTextSearch
XUNIVERSAL=XawTextDisplayCaret
XUNIVERSAL=XawTextSinkDisplayText
XUNIVERSAL=XawTextSinkInsertCursor
XUNIVERSAL=XawTextSinkClearToBackground
XUNIVERSAL=XawTextSinkFindPosition
XUNIVERSAL=XawTextSinkFindDistance
XUNIVERSAL=XawTextSinkResolve
XUNIVERSAL=XawTextSinkMaxLines
XUNIVERSAL=XawTextSinkMaxHeight
XUNIVERSAL=XawTextSinkSetTabs
XUNIVERSAL=XawTextSinkGetCursorBounds
XUNIVERSAL=XawTextSourceRead
XUNIVERSAL=XawTextSourceReplace
XUNIVERSAL=XawTextSourceScan
XUNIVERSAL=XawTextSourceSearch
XUNIVERSAL=XawTextSourceConvertSelection
XUNIVERSAL=XawTextSourceSetSelection
XUNIVERSAL=XawToggleChangeRadioGroup
XUNIVERSAL=XawToggleGetCurrent
XUNIVERSAL=XawToggleSetCurrent
XUNIVERSAL=XawToggleUnsetCurrent
XUNIVERSAL=XawTreeForceLayout
XUNIVERSAL=XawViewportSetLocation
XUNIVERSAL=XawViewportSetCoordinates
XUNIVERSAL=XawInitializeWidgetSet
X!
XPSECT_ATTR=APPLICATIONSHELLWIDGETCLASS,NOSHR
XPSECT_ATTR=ASCIISINKCLASSREC,NOSHR
XPSECT_ATTR=ASCIISINKOBJECTCLASS,NOSHR
XPSECT_ATTR=ASCIISRCCLASSREC,NOSHR
XPSECT_ATTR=ASCIISRCOBJECTCLASS,NOSHR
XPSECT_ATTR=ASCIITEXTCLASSREC,NOSHR
XPSECT_ATTR=ASCIITEXTWIDGETCLASS,NOSHR
XPSECT_ATTR=BOXCLASSREC,NOSHR
XPSECT_ATTR=BOXWIDGETCLASS,NOSHR
XPSECT_ATTR=CLOCKCLASSREC,NOSHR
XPSECT_ATTR=CLOCKWIDGETCLASS,NOSHR
XPSECT_ATTR=COMMANDCLASSREC,NOSHR
XPSECT_ATTR=COMMANDWIDGETCLASS,NOSHR
XPSECT_ATTR=COMPOSITEWIDGETCLASS,NOSHR
XPSECT_ATTR=CONSTRAINTWIDGETCLASS,NOSHR
XPSECT_ATTR=COREWIDGETCLASS,NOSHR
XPSECT_ATTR=DIALOGCLASSREC,NOSHR
XPSECT_ATTR=DIALOGWIDGETCLASS,NOSHR
XPSECT_ATTR=FMT8BIT,NOSHR
XPSECT_ATTR=FORMCLASSREC,NOSHR
XPSECT_ATTR=FORMWIDGETCLASS,NOSHR
XPSECT_ATTR=GRIPCLASSREC,NOSHR
XPSECT_ATTR=GRIPWIDGETCLASS,NOSHR
XPSECT_ATTR=LABELCLASSREC,NOSHR
XPSECT_ATTR=LABELWIDGETCLASS,NOSHR
XPSECT_ATTR=LISTCLASSREC,NOSHR
XPSECT_ATTR=LISTWIDGETCLASS,NOSHR
XPSECT_ATTR=LOGOWIDGETCLASS,NOSHR
XPSECT_ATTR=MAILBOXWIDGETCLASS,NOSHR
XPSECT_ATTR=MENUBUTTONCLASSREC,NOSHR
XPSECT_ATTR=MENUBUTTONWIDGETCLASS,NOSHR
XPSECT_ATTR=OBJECTCLASS,NOSHR
XPSECT_ATTR=OVERRIDESHELLWIDGETCLASS,NOSHR
XPSECT_ATTR=PANEDCLASSREC,NOSHR
XPSECT_ATTR=PANEDWIDGETCLASS,NOSHR
XPSECT_ATTR=PANNERCLASSREC,NOSHR
XPSECT_ATTR=PANNERWIDGETCLASS,NOSHR
XPSECT_ATTR=PORTHOLECLASSREC,NOSHR
XPSECT_ATTR=PORTHOLEWIDGETCLASS,NOSHR
XPSECT_ATTR=RECTOBJCLASS,NOSHR
XPSECT_ATTR=REPEATERCLASSREC,NOSHR
XPSECT_ATTR=REPEATERWIDGETCLASS,NOSHR
XPSECT_ATTR=SCROLLBARCLASSREC,NOSHR
XPSECT_ATTR=SCROLLBARWIDGETCLASS,NOSHR
XPSECT_ATTR=SHELLWIDGETCLASS,NOSHR
XPSECT_ATTR=SIMPLECLASSREC,NOSHR
XPSECT_ATTR=SIMPLEMENUCLASSREC,NOSHR
XPSECT_ATTR=SIMPLEMENUWIDGETCLASS,NOSHR
XPSECT_ATTR=SIMPLEWIDGETCLASS,NOSHR
XPSECT_ATTR=SMEBSBCLASSREC,NOSHR
XPSECT_ATTR=SMEBSBOBJECTCLASS,NOSHR
XPSECT_ATTR=SMECLASSREC,NOSHR
XPSECT_ATTR=SMELINECLASSREC,NOSHR
XPSECT_ATTR=SMELINEOBJECTCLASS,NOSHR
XPSECT_ATTR=SMEOBJECTCLASS,NOSHR
XPSECT_ATTR=STRIPCHARTCLASSREC,NOSHR
XPSECT_ATTR=STRIPCHARTWIDGETCLASS,NOSHR
XPSECT_ATTR=TEXTCLASSREC,NOSHR
XPSECT_ATTR=TEXTSINKCLASSREC,NOSHR
XPSECT_ATTR=TEXTSINKOBJECTCLASS,NOSHR
XPSECT_ATTR=TEXTSRCCLASSREC,NOSHR
XPSECT_ATTR=TEXTSRCOBJECTCLASS,NOSHR
XPSECT_ATTR=TEXTWIDGETCLASS,NOSHR
XPSECT_ATTR=TOGGLECLASSREC,NOSHR
XPSECT_ATTR=TOGGLEWIDGETCLASS,NOSHR
XPSECT_ATTR=TOPLEVELSHELLWIDGETCLASS,NOSHR
XPSECT_ATTR=TRANSIENTSHELLWIDGETCLASS,NOSHR
XPSECT_ATTR=TREECLASSREC,NOSHR
XPSECT_ATTR=TREEWIDGETCLASS,NOSHR
X!PSECT_ATTR=VENDORSHELLWIDGETCLASS,NOSHR
XPSECT_ATTR=VIEWPORTCLASSREC,NOSHR
XPSECT_ATTR=VIEWPORTWIDGETCLASS,NOSHR
XPSECT_ATTR=VPANEDWIDGETCLASS,NOSHR
XPSECT_ATTR=WMSHELLWIDGETCLASS,NOSHR
XPSECT_ATTR=XAWWIDGETARRAY,NOSHR
XPSECT_ATTR=XAWWIDGETCOUNT,NOSHR
XPSECT_ATTR=_XAWDEFAULTTEXTTRANSLATIONS1,NOSHR
XPSECT_ATTR=_XAWDEFAULTTEXTTRANSLATIONS2,NOSHR
XPSECT_ATTR=_XAWDEFAULTTEXTTRANSLATIONS3,NOSHR
XPSECT_ATTR=_XAWTEXTACTIONSTABLE,NOSHR
XPSECT_ATTR=_XAWTEXTACTIONSTABLECOUNT,NOSHR
$ GOSUB UNPACK_FILE

$ FILE_IS = "XFUNCPROTO.H"
$ CHECKSUM_IS = 543834986
$ COPY SYS$INPUT VMS_SHARE_DUMMY.DUMMY
X/* $XConsortium: Xfuncproto.h,v 1.7 91/05/13 20:49:21 rws Exp $ */
X/*`032
X * Copyright 1989, 1991 by the Massachusetts Institute of Technology
X *
X * Permission to use, copy, modify, and distribute this software and its
V * documentation for any purpose and without fee is hereby granted, provided`
X032
V * that the above copyright notice appear in all copies and that both that`03
X2
X * copyright notice and this permission notice appear in supporting`032
X * documentation, and that the name of M.I.T. not be used in advertising
V * or publicity pertaining to distribution of the software without specific,`
X032
X * written prior permission. M.I.T. makes no representations about the`032
X * suitability of this software for any purpose.  It is provided "as is"
X * without express or implied warranty.
X *
X */
X
X/* Definitions to make function prototypes manageable */
X
X#ifndef _XFUNCPROTO_H_
X#define _XFUNCPROTO_H_
X
X#ifndef NeedFunctionPrototypes
V#if defined(FUNCPROTO) `124`124 __STDC__ `124`124 defined(__cplusplus) `124`1
X24 defined(c_plusplus)
X#define NeedFunctionPrototypes 1
X#else
X#define NeedFunctionPrototypes 0
X#endif
X#endif /* NeedFunctionPrototypes */
X
X#ifndef NeedVarargsPrototypes
V#if __STDC__ `124`124 defined(__cplusplus) `124`124 defined(c_plusplus) `124`
X124 (FUNCPROTO&2)
X#define NeedVarargsPrototypes 1
X#else
X#define NeedVarargsPrototypes 0
X#endif
X#endif /* NeedVarargsPrototypes */
X
X#if NeedFunctionPrototypes
X
X#ifndef NeedNestedPrototypes
V#if __STDC__ `124`124 defined(__cplusplus) `124`124 defined(c_plusplus) `124`
X124 (FUNCPROTO&8)
X#define NeedNestedPrototypes 1
X#else
X#define NeedNestedPrototypes 0
X#endif
X#endif /* NeedNestedPrototypes */
X
X#ifndef _Xconst
V#if __STDC__ `124`124 defined(__cplusplus) `124`124 defined(c_plusplus) `124`
X124 (FUNCPROTO&4)
X#define _Xconst const
X#else
X#define _Xconst
X#endif
X#endif /* _Xconst */
X
X#ifndef NeedWidePrototypes
X#ifdef NARROWPROTO
X#define NeedWidePrototypes 0
X#else
X#define NeedWidePrototypes 1`009`009/* default to make interropt. easier */
X#endif
X#endif /* NeedWidePrototypes */
X
X#endif /* NeedFunctionPrototypes */
X
X#ifndef _XFUNCPROTOBEGIN
X#ifdef __cplusplus`009`009`009/* for C++ V2.0 */
V#define _XFUNCPROTOBEGIN extern "C" `123`009/* do not leave open across inclu
Xdes */
X#define _XFUNCPROTOEND `125
X#else
X#define _XFUNCPROTOBEGIN
X#define _XFUNCPROTOEND
X#endif
X#endif /* _XFUNCPROTOBEGIN */
X
X#endif /* _XFUNCPROTO_H_ */
$ GOSUB UNPACK_FILE

$ FILE_IS = "XFUNCS.H"
$ CHECKSUM_IS = 676163558
$ COPY SYS$INPUT VMS_SHARE_DUMMY.DUMMY
X/*
X * $XConsortium: Xfuncs.h,v 1.8 91/04/17 09:27:52 rws Exp $
X *`032
X * Copyright 1990 by the Massachusetts Institute of Technology
X *
X * Permission to use, copy, modify, and distribute this software and its
V * documentation for any purpose and without fee is hereby granted, provided`
X032
V * that the above copyright notice appear in all copies and that both that`03
X2
X * copyright notice and this permission notice appear in supporting`032
X * documentation, and that the name of M.I.T. not be used in advertising
V * or publicity pertaining to distribution of the software without specific,`
X032
X * written prior permission. M.I.T. makes no representations about the`032
X * suitability of this software for any purpose.  It is provided "as is"
X * without express or implied warranty.
X *
X */
X
X#ifndef _XFUNCS_H_
X#define _XFUNCS_H_
X
X#include <X11/Xosdefs.h>
X
X#ifdef X_USEBFUNCS
Xvoid bcopy();
Xvoid bzero();
Xint bcmp();
X#else
V#if (__STDC__ && !defined(X_NOT_STDC_ENV) && !defined(sun) && !defined(macII)
X) `124`124 defined(SVR4) `124`124 defined(hpux) `124`124 defined(_IBMR2)
X#include <string.h>
X#define bcopy(b1,b2,len) memmove(b2, b1, (size_t)(len))
X#define bzero(b,len) memset(b, 0, (size_t)(len))
X#define bcmp(b1,b2,len) memcmp(b1, b2, (size_t)(len))
X#else
X#ifdef sgi
X#include <bstring.h>
X#else
X#ifdef SYSV
X#include <memory.h>
X#if defined(_XBCOPYFUNC) && !defined(macII)
X#define bcopy _XBCOPYFUNC
X#define _XNEEDBCOPYFUNC
X#endif
Xvoid bcopy();
X#define bzero(b,len) memset(b, 0, len)
X#define bcmp(b1,b2,len) memcmp(b1, b2, len)
X#else /* bsd */
Xvoid bcopy();
Xvoid bzero();
Xint bcmp();
X#endif /* SYSV */
X#endif /* sgi */
X#endif /* __STDC__ and relatives */
X#endif /* X_USEBFUNCS */
X
X#endif /* _XFUNCS_H_ */
$ GOSUB UNPACK_FILE

$ FILE_IS = "XMUSHR.OPT"
$ CHECKSUM_IS = 1413495682
$ COPY SYS$INPUT VMS_SHARE_DUMMY.DUMMY
X! VMS LINKER OPTIONS FILE for generating a shared library
X! from the XMU routines. (Most data in this file is automatically generated).
X!
X! To build MIT X11R5 Athena Widget Set under VMS DECWINDOWS MOTIF 1.0
X! 29-APR-92 GJC@MITECH.COM
X!
Xsys$library:vaxcrtl/share
Xsys$library:decw$xlibshr/share
Xsys$library:decw$xtshr/share
X!
X! I just *had* to add this vms-specific utility:
XUNIVERSAL=purge_working_set
X!
XUNIVERSAL=bcopy
XUNIVERSAL=bzero
XUNIVERSAL=index
XUNIVERSAL=rindex
XUNIVERSAL=unlink
XUNIVERSAL=gethostname
Xuniversal=strdup
X!
Xuniversal=XRMPERMSTRINGTOQUARK
Xuniversal=XrmGetDatabase
Xuniversal=XtScreenDatabase
Xuniversal=XrmSetDatabase
Xuniversal=XtGetActionList
Xuniversal=_XEditResCheckMessages
Xuniversal=XShapeQueryExtension
X!
X! By hand:
Xuniversal=XmuDistinguishableColors
Xuniversal=XmuDistinguishablePixels
X!
X!
X! AUTOMATICALLY GENERATED
X!
XUNIVERSAL=XmuGetAtomName
XUNIVERSAL=XmuInternAtom
XUNIVERSAL=XmuInternStrings
XUNIVERSAL=XmuMakeAtom
XUNIVERSAL=XmuNameOfAtom
XUNIVERSAL=XmuCopyISOLatin1Lowered
XUNIVERSAL=XmuCopyISOLatin1Uppered
XUNIVERSAL=XmuCompareISOLatin1
XUNIVERSAL=XmuAddCloseDisplayHook
XUNIVERSAL=XmuLookupCloseDisplayHook
XUNIVERSAL=XmuRemoveCloseDisplayHook
XUNIVERSAL=XmuCvtFunctionToCallback
XUNIVERSAL=XmuCvtStringToBackingStore
XUNIVERSAL=XmuCvtStringToCursor
XUNIVERSAL=XmuCvtStringToColorCursor
XUNIVERSAL=XmuCvtStringToGravity
XUNIVERSAL=XmuCvtStringToJustify
XUNIVERSAL=XmuCvtStringToLong
XUNIVERSAL=XmuCvtStringToOrientation
XUNIVERSAL=XmuCvtStringToBitmap
XUNIVERSAL=XmuCvtStringToShapeStyle
XUNIVERSAL=XmuReshapeWidget
XUNIVERSAL=XmuCvtStringToWidget
XUNIVERSAL=XmuNewCvtStringToWidget
XUNIVERSAL=XmuCursorNameToIndex
XUNIVERSAL=_XmuCCLookupDisplay
XUNIVERSAL=XmuDQCreate
XUNIVERSAL=XmuDQDestroy
XUNIVERSAL=XmuDQLookupDisplay
XUNIVERSAL=XmuDQAddDisplay
XUNIVERSAL=XmuDQRemoveDisplay
XUNIVERSAL=XmuDrawRoundedRectangle
XUNIVERSAL=XmuFillRoundedRectangle
XUNIVERSAL=XmuDrawLogo
XUNIVERSAL=XmuCreatePixmapFromBitmap
XUNIVERSAL=XmuCreateStippledPixmap
XUNIVERSAL=XmuReleaseStippledPixmap
XUNIVERSAL=XmuLocateBitmapFile
XUNIVERSAL=XmuLocatePixmapFile
XUNIVERSAL=XmuReadBitmapData
XUNIVERSAL=XmuReadBitmapDataFromFile
X!UNIVERSAL=XmuPrintDefaultErrorMessage
X!UNIVERSAL=XmuSimpleErrorHandler
XUNIVERSAL=XmuCallInitializers
XUNIVERSAL=XmuAddInitializer
XUNIVERSAL=XmuConvertStandardSelection
XUNIVERSAL=XmuGetHostname
XUNIVERSAL=XmuWnInitializeNodes
XUNIVERSAL=XmuWnFetchResources
XUNIVERSAL=XmuWnCountOwnedResources
XUNIVERSAL=XmuWnNameToNode
XUNIVERSAL=XmuClientWindow
XUNIVERSAL=XmuUpdateMapHints
XUNIVERSAL=XmuScreenOfWindow
XUNIVERSAL=XctCreate
XUNIVERSAL=XctNextItem
XUNIVERSAL=XctFree
XUNIVERSAL=XctReset
X!
X! Some PSECTS that probably show up due to extern declarations
XPSECT_ATTR=_XTALLOCBUSY,NOSHR,LCL
XPSECT_ATTR=_XTALLOCLOCALARRAY,NOSHR,LCL
$ GOSUB UNPACK_FILE

$ FILE_IS = "XMUSHR.PSECTS"
$ CHECKSUM_IS = 1566508943
$ COPY SYS$INPUT VMS_SHARE_DUMMY.DUMMY
X!(automatically generated).
X! To build MIT X11R5 Athena Widget Set under VMS DECWINDOWS MOTIF 1.0
X! 29-APR-92 GJC@MITECH.COM
X!
XPSECT_ATTR=_XA_ATOM_PAIR,NOSHR
XPSECT_ATTR=_XA_CHARACTER_POSITION,NOSHR
XPSECT_ATTR=_XA_CLASS,NOSHR
XPSECT_ATTR=_XA_CLIENT_WINDOW,NOSHR
XPSECT_ATTR=_XA_CLIPBOARD,NOSHR
XPSECT_ATTR=_XA_COMPOUND_TEXT,NOSHR
XPSECT_ATTR=_XA_DECNET_ADDRESS,NOSHR
XPSECT_ATTR=_XA_DELETE,NOSHR
XPSECT_ATTR=_XA_FILENAME,NOSHR
XPSECT_ATTR=_XA_HOSTNAME,NOSHR
XPSECT_ATTR=_XA_IP_ADDRESS,NOSHR
XPSECT_ATTR=_XA_LENGTH,NOSHR
XPSECT_ATTR=_XA_LIST_LENGTH,NOSHR
XPSECT_ATTR=_XA_NAME,NOSHR
XPSECT_ATTR=_XA_NET_ADDRESS,NOSHR
XPSECT_ATTR=_XA_NULL,NOSHR
XPSECT_ATTR=_XA_OWNER_OS,NOSHR
XPSECT_ATTR=_XA_SPAN,NOSHR
XPSECT_ATTR=_XA_TARGETS,NOSHR
XPSECT_ATTR=_XA_TEXT,NOSHR
XPSECT_ATTR=_XA_TIMESTAMP,NOSHR
XPSECT_ATTR=_XA_USER,NOSHR
$ GOSUB UNPACK_FILE

$ FILE_IS = "XOSDEFS.H"
$ CHECKSUM_IS = 1208579338
$ COPY SYS$INPUT VMS_SHARE_DUMMY.DUMMY
X/*
X * O/S-dependent (mis)feature macro definitions
X *
X * $XConsortium: Xosdefs.h,v 1.7 91/07/19 23:22:19 rws Exp $
X *
X * Copyright 1991 Massachusetts Institute of Technology
X *
V * Permission to use, copy, modify, distribute, and sell this software and it
Xs
X * documentation for any purpose is hereby granted without fee, provided that
X * the above copyright notice appear in all copies and that both that
X * copyright notice and this permission notice appear in supporting
X * documentation, and that the name of M.I.T. not be used in advertising or
X * publicity pertaining to distribution of the software without specific,
X * written prior permission.  M.I.T. makes no representations about the
X * suitability of this software for any purpose.  It is provided "as is"
X * without express or implied warranty.
X *
V * M.I.T. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING AL
XL
V * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL M.I.T
X.
V * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGE
XS
V * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTI
XON
X * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN`032
X * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
X */
X
X#ifndef _XOSDEFS_H_
X#define _XOSDEFS_H_
X
X/*
X * X_NOT_STDC_ENV means does not have ANSI C header files.  Lack of this
X * symbol does NOT mean that the system has stdarg.h.
X *
X * X_NOT_POSIX means does not have POSIX header files.  Lack of this
X * symbol does NOT mean that the POSIX environment is the default.
X * You may still have to define _POSIX_SOURCE to get it.
X */
X
X#ifdef NOSTDHDRS
X#define X_NOT_POSIX
X#define X_NOT_STDC_ENV
X#endif
X
X#ifdef sony
X#ifndef SYSTYPE_SYSV
X#define X_NOT_POSIX
X#endif
X#endif
X
X#ifdef UTEK
X#define X_NOT_POSIX
X#define X_NOT_STDC_ENV
X#endif
X
X#ifdef CRAY
X#define X_NOT_POSIX
X#endif
X
X#ifdef vax
X#ifndef ultrix`009`009`009/* assume vanilla BSD */
X#define X_NOT_POSIX
X#define X_NOT_STDC_ENV
X#endif
X#endif
X
X#ifdef luna
X#define X_NOT_POSIX
X#define X_NOT_STDC_ENV
X#endif
X
X#ifdef Mips
X#define X_NOT_POSIX
X#define X_NOT_STDC_ENV
X#endif
X `032
X#ifdef USL
X#ifdef SYSV /* (release 3.2) */
X#define X_NOT_POSIX
X#define X_NOT_STDC_ENV
X#endif
X#endif
X
X#ifdef SYSV386
X#ifdef SYSV
X#define X_NOT_POSIX
X#define X_NOT_STDC_ENV
X#endif
X#endif
X
X#ifdef MOTOROLA
X#ifdef SYSV
X#define X_NOT_STDC_ENV
X#endif
X#endif
X
X#endif /* _XOSDEFS_H_ */
$ GOSUB UNPACK_FILE
$ EXIT
