[comp.windows.x] Modifications to the SAIC Ada binding to the X Window System for VADS

tap@srcsip.UUCP (Thomas A Peterson) (06/16/88)

The SAIC Ada binding to the X Window System, Version 11 needed the following
modifications to get it working on the VERDIX Ada Development System (VADS).
The programs Hello_World and Sketch_Pad worked properly after these
modifications.


  1. Creation of a System_Environment Package to match the Alsys'
     System_Environment package.

  2. Modification of the PRAGMA INTERFACE calls.

     pragma INTERFACE ( Language_Name,
                        Ada_Subprogram_Name,
                        "Language_Subprogram_Name" )

  3. Modification of the EVENT records in the body of the events
     package (x_events.a).

     PROBLEM : After the XNextEvent C library function was executed both of
               the addresses passed into the function were returned as '0'
               even though the correct addresses were passed into the function.

     SOLUTION : After examining the include file /usr/include/X11/Xlib.h it 
                was determined that the XEvent had a size of 96 bytes but
                all of the events in the events package had a size of 68 bytes.
                So 7 more words were appended onto each event declared in the
                events package.  Thereafter, the XNextEvent C library function
                worked properly.



The System_Environment package and the diff files of the changes needed follow.
The diff files are for x_int_.a and x_events.a.

1. Creation of a System_Environment Package to match the Alsys'
   System_Environment package.

package System_Environment is

  Illegal_Arg_Index : exception;
  
  function Arg_Count return Positive;
  
  function Arg_Value (Index : in Natural) return String;

end System_Environment;

with U_Env;
use U_Env;

package body System_Environment is
  
  function Arg_Count return Positive is

  begin
    return argc;
  end Arg_Count;
  
  function Arg_Value (Index : in Natural) return String is

  begin
    if index > (Arg_Count - 1) then
      raise Illegal_Arg_Index;
    else
      return argv(index).all.s;
    end if;
  end Arg_Value;

end System_Environment;


2. Modification of the PRAGMA INTERFACE calls.

diff x_int_.a ../x_int_.a
319,337c319,337
<   pragma INTERFACE (C, Xloadfont);
<   pragma INTERFACE (C, Xqueryfont);
<   pragma INTERFACE (C, Xlistfontswithinfo);
<   pragma INTERFACE (C, Xfreefontinfo);
<   pragma INTERFACE (C, Xloadqueryfont);
<   pragma INTERFACE (C, Xfreefont);
<   pragma INTERFACE (C, Xgetfontproperty);
<   pragma INTERFACE (C, Xunloadfont);
<   pragma INTERFACE (C, Xlistfonts);
<   pragma INTERFACE (C, Xfreefontnames);
<   pragma INTERFACE (C, Xsetfontpath);
<   pragma INTERFACE (C, Xgetfontpath);
<   pragma INTERFACE (C, Xfreefontpath);
<   pragma INTERFACE (C, Xtextwidth);
<   pragma INTERFACE (C, Xtextwidth16);
<   pragma INTERFACE (C, Xtextextents);
<   pragma INTERFACE (C, Xtextextents16);
<   pragma INTERFACE (C, Xquerytextextents);
<   pragma INTERFACE (C, Xquerytextextents16);
---
>   pragma INTERFACE (C, Xloadfont, "_XLoadFont");
>   pragma INTERFACE (C, Xqueryfont, "_XQueryFont");
>   pragma INTERFACE (C, Xlistfontswithinfo, "_XListFontsWithInfo");
>   pragma INTERFACE (C, Xfreefontinfo, "_XFreeFontInfo");
>   pragma INTERFACE (C, Xloadqueryfont, "_XLoadQueryFont");
>   pragma INTERFACE (C, Xfreefont, "_XFreeFont");
>   pragma INTERFACE (C, Xgetfontproperty, "_XGetFontProperty");
>   pragma INTERFACE (C, Xunloadfont, "_XUnloadFont");
>   pragma INTERFACE (C, Xlistfonts, "_XListFonts");
>   pragma INTERFACE (C, Xfreefontnames, "_XFreeFontNames");
>   pragma INTERFACE (C, Xsetfontpath, "_XSetFontPath");
>   pragma INTERFACE (C, Xgetfontpath, "_XGetFontPath");
>   pragma INTERFACE (C, Xfreefontpath, "_XFreeFontPath");
>   pragma INTERFACE (C, Xtextwidth, "_XTextWidth");
>   pragma INTERFACE (C, Xtextwidth16, "_XTextWidth16");
>   pragma INTERFACE (C, Xtextextents, "_XTextExtents");
>   pragma INTERFACE (C, Xtextextents16, "_XTextExtents16");
>   pragma INTERFACE (C, Xquerytextextents, "_XQueryTextExtents");
>   pragma INTERFACE (C, Xquerytextextents16, "_XQueryTextExtents16");
339,358d338
<   pragma INTERFACE_NAME (Xloadfont, "XLoadFont");
<   pragma INTERFACE_NAME (Xqueryfont, "XQueryFont");
<   pragma INTERFACE_NAME (Xlistfontswithinfo, "XListFontsWithInfo");
<   pragma INTERFACE_NAME (Xfreefontinfo, "XFreeFontInfo");
<   pragma INTERFACE_NAME (Xloadqueryfont, "XLoadQueryFont");
<   pragma INTERFACE_NAME (Xfreefont, "XFreeFont");
<   pragma INTERFACE_NAME (Xgetfontproperty, "XGetFontProperty");
<   pragma INTERFACE_NAME (Xunloadfont, "XUnloadFont");
<   pragma INTERFACE_NAME (Xlistfonts, "XListFonts");
<   pragma INTERFACE_NAME (Xfreefontnames, "XFreeFontNames");
<   pragma INTERFACE_NAME (Xsetfontpath, "XSetFontPath");
<   pragma INTERFACE_NAME (Xgetfontpath, "XGetFontPath");
<   pragma INTERFACE_NAME (Xfreefontpath, "XFreeFontPath");
<   pragma INTERFACE_NAME (Xtextwidth, "XTextWidth");
<   pragma INTERFACE_NAME (Xtextwidth16, "XTextWidth16");
<   pragma INTERFACE_NAME (Xtextextents, "XTextExtents");
<   pragma INTERFACE_NAME (Xtextextents16, "XTextExtents16");
<   pragma INTERFACE_NAME (Xquerytextextents, "XQueryTextExtents");
<   pragma INTERFACE_NAME (Xquerytextextents16, "XQueryTextExtents16");
<   
501,521c481,501
<   pragma INTERFACE (C, Xcreatecolormap);
<   pragma INTERFACE (C, Xcopycolormapandfree);
<   pragma INTERFACE (C, Xfreecolormap);
<   pragma INTERFACE (C, Xsetwindowcolormap);
<   pragma INTERFACE (C, Xalloccolor);
<   pragma INTERFACE (C, Xallocnamedcolor);
<   pragma INTERFACE (C, Xlookupcolor);
<   pragma INTERFACE (C, Xstorecolors);
<   pragma INTERFACE (C, Xstorecolor);
<   pragma INTERFACE (C, Xalloccolorcells);
<   pragma INTERFACE (C, Xalloccolorplanes);
<   pragma INTERFACE (C, Xstorenamedcolor);
<   pragma INTERFACE (C, Xfreecolors);
<   pragma INTERFACE (C, Xquerycolor);
<   pragma INTERFACE (C, Xquerycolors);
<   pragma INTERFACE (C, Xcreatepixmap);
<   pragma INTERFACE (C, Xfreepixmap);
<   pragma INTERFACE (C, Xinstallcolormap);
<   pragma INTERFACE (C, Xuninstallcolormap);
<   pragma INTERFACE (C, Xlistinstalledcolormaps);
<   pragma INTERFACE (C, Xparsecolor);
---
>   pragma INTERFACE (C, Xcreatecolormap, "_XCreateColormap");
>   pragma INTERFACE (C, Xcopycolormapandfree, "_XCopyColormapAndFree");
>   pragma INTERFACE (C, Xfreecolormap, "_XFreeColormap");
>   pragma INTERFACE (C, Xsetwindowcolormap, "_XSetWindowColormap");
>   pragma INTERFACE (C, Xalloccolor, "_XAllocColor");
>   pragma INTERFACE (C, Xallocnamedcolor, "_XAllocNamedColor");
>   pragma INTERFACE (C, Xlookupcolor, "_XLookupColor");
>   pragma INTERFACE (C, Xstorecolors, "_XStoreColors");
>   pragma INTERFACE (C, Xstorecolor, "_XStoreColor");
>   pragma INTERFACE (C, Xalloccolorcells, "_XAllocColorCells");
>   pragma INTERFACE (C, Xalloccolorplanes, "_XAllocColorPlanes");
>   pragma INTERFACE (C, Xstorenamedcolor, "_XStoreNamedColor");
>   pragma INTERFACE (C, Xfreecolors, "_XFreeColors");
>   pragma INTERFACE (C, Xquerycolor, "_XQueryColor");
>   pragma INTERFACE (C, Xquerycolors, "_XQueryColors");
>   pragma INTERFACE (C, Xcreatepixmap, "_XCreatePixmap");
>   pragma INTERFACE (C, Xfreepixmap, "_XFreePixmap");
>   pragma INTERFACE (C, Xinstallcolormap, "_XInstallColormap");
>   pragma INTERFACE (C, Xuninstallcolormap, "_XUninstallColormap");
>   pragma INTERFACE (C, Xlistinstalledcolormaps, "_XListInstalledColormaps");
>   pragma INTERFACE (C, Xparsecolor, "_XParseColor");
523,544d502
<   pragma INTERFACE_NAME (Xcreatecolormap, "XCreateColormap");
<   pragma INTERFACE_NAME (Xcopycolormapandfree, "XCopyColormapAndFree");
<   pragma INTERFACE_NAME (Xfreecolormap, "XFreeColormap");
<   pragma INTERFACE_NAME (Xsetwindowcolormap, "XSetWindowColormap");
<   pragma INTERFACE_NAME (Xalloccolor, "XAllocColor");
<   pragma INTERFACE_NAME (Xallocnamedcolor, "XAllocNamedColor");
<   pragma INTERFACE_NAME (Xlookupcolor, "XLookupColor");
<   pragma INTERFACE_NAME (Xstorecolors, "XStoreColors");
<   pragma INTERFACE_NAME (Xstorecolor, "XStoreColor");
<   pragma INTERFACE_NAME (Xalloccolorcells, "XAllocColorCells");
<   pragma INTERFACE_NAME (Xalloccolorplanes, "XAllocColorPlanes");
<   pragma INTERFACE_NAME (Xstorenamedcolor, "XStoreNamedColor");
<   pragma INTERFACE_NAME (Xfreecolors, "XFreeColors");
<   pragma INTERFACE_NAME (Xquerycolor, "XQueryColor");
<   pragma INTERFACE_NAME (Xquerycolors, "XQueryColors");
<   pragma INTERFACE_NAME (Xcreatepixmap, "XCreatePixmap");
<   pragma INTERFACE_NAME (Xfreepixmap, "XFreePixmap");
<   pragma INTERFACE_NAME (Xinstallcolormap, "XInstallColormap");
<   pragma INTERFACE_NAME (Xuninstallcolormap, "XUninstallColormap");
<   pragma INTERFACE_NAME (Xlistinstalledcolormaps, "XListInstalledColormaps");
<   pragma INTERFACE_NAME (Xparsecolor, "XParseColor");
<   
1030,1093c988,1052
<   pragma INTERFACE (C, Xcreategc);
<   pragma INTERFACE (C, Xcopygc);
<   pragma INTERFACE (C, Xchangegc);
<   pragma INTERFACE (C, Xfreegc);
<   pragma INTERFACE (C, Xsetstate);
<   pragma INTERFACE (C, Xsetfunction);
<   pragma INTERFACE (C, Xsetplanemask);
<   pragma INTERFACE (C, Xsetforeground);
<   pragma INTERFACE (C, Xsetbackground);
<   pragma INTERFACE (C, Xsetlineattributes);
<   pragma INTERFACE (C, Xsetdashes);
<   pragma INTERFACE (C, Xsetfillstyle);
<   pragma INTERFACE (C, Xsetfillrule);
<   pragma INTERFACE (C, Xquerybestsize);
<   pragma INTERFACE (C, Xquerybesttile);
<   pragma INTERFACE (C, Xquerybeststipple);
<   pragma INTERFACE (C, Xsettile);
<   pragma INTERFACE (C, Xsetstipple);
<   pragma INTERFACE (C, Xsettsorigin);
<   pragma INTERFACE (C, Xsetfont);
<   pragma INTERFACE (C, Xsetcliporigin);
<   pragma INTERFACE (C, Xsetclipmask);
<   pragma INTERFACE (C, Xsetcliprectangles);
<   pragma INTERFACE (C, Xsetarcmode);
<   pragma INTERFACE (C, Xsetsubwindowmode);
<   pragma INTERFACE (C, Xsetgraphicsexposures);
<   pragma INTERFACE (C, Xcleararea);
<   pragma INTERFACE (C, Xclearwindow);
<   pragma INTERFACE (C, Xcopyarea);
<   pragma INTERFACE (C, Xcopyplane);
<   pragma INTERFACE (C, Xdrawpoint);
<   pragma INTERFACE (C, Xdrawpoints);
<   pragma INTERFACE (C, Xdrawline);
<   pragma INTERFACE (C, Xdrawlines);
<   pragma INTERFACE (C, Xdrawsegments);
<   pragma INTERFACE (C, Xdrawrectangle);
<   pragma INTERFACE (C, Xdrawrectangles);
<   pragma INTERFACE (C, Xdrawarc);
<   pragma INTERFACE (C, Xdrawarcs);
<   pragma INTERFACE (C, Xfillrectangle);
<   pragma INTERFACE (C, Xfillrectangles);
<   pragma INTERFACE (C, Xfillpolygon);
<   pragma INTERFACE (C, Xfillarc);
<   pragma INTERFACE (C, Xfillarcs);
<   pragma INTERFACE (C, Xdrawtext);
<   pragma INTERFACE (C, Xdrawtext16);
<   pragma INTERFACE (C, Xdrawstring);
<   pragma INTERFACE (C, Xdrawstring16);
<   pragma INTERFACE (C, Xdrawimagestring);
<   pragma INTERFACE (C, Xdrawimagestring16);
<   pragma INTERFACE (C, Xputimage);
<   pragma INTERFACE (C, Xgetimage);
<   pragma INTERFACE (C, Xgetsubimage);
<   pragma INTERFACE (C, Xcreateimage);
<   pragma INTERFACE (C, Xgetpixel);
<   pragma INTERFACE (C, Xputpixel);
<   pragma INTERFACE (C, Xsubimage);
<   pragma INTERFACE (C, Xaddpixel);
<   pragma INTERFACE (C, Xdestroyimage);
<   pragma INTERFACE (C, Xreadbitmapfile);
<   pragma INTERFACE (C, Xwritebitmapfile);
<   pragma INTERFACE (C, Xcreatebitmapfromdata);
<   pragma INTERFACE (C, Xcreatepixmapfrombitmapdata);
<   pragma INTERFACE (C, Xgcontextfromgc);
---
>   pragma INTERFACE (C, Xcreategc, "_XCreateGC");
>   pragma INTERFACE (C, Xcopygc, "_XCopyGC");
>   pragma INTERFACE (C, Xchangegc, "_XChangeGC");
>   pragma INTERFACE (C, Xfreegc, "_XFreeGC");
>   pragma INTERFACE (C, Xsetstate, "_XSetState");
>   pragma INTERFACE (C, Xsetfunction, "_XSetFunction");
>   pragma INTERFACE (C, Xsetplanemask, "_XSetPlaneMask");
>   pragma INTERFACE (C, Xsetforeground, "_XSetForeground");
>   pragma INTERFACE (C, Xsetbackground, "_XSetBackground");
>   pragma INTERFACE (C, Xsetlineattributes, "_XSetLineAttributes");
>   pragma INTERFACE (C, Xsetdashes, "_XSetDashes");
>   pragma INTERFACE (C, Xsetfillstyle, "_XSetFillStyle");
>   pragma INTERFACE (C, Xsetfillrule, "_XSetFillRule");
>   pragma INTERFACE (C, Xquerybestsize, "_XQueryBestSize");
>   pragma INTERFACE (C, Xquerybesttile, "_XQueryBestTile");
>   pragma INTERFACE (C, Xquerybeststipple, "_XQueryBestStipple");
>   pragma INTERFACE (C, Xsettile, "_XSetTile");
>   pragma INTERFACE (C, Xsetstipple, "_XSetStipple");
>   pragma INTERFACE (C, Xsettsorigin, "_XSetTSOrigin");
>   pragma INTERFACE (C, Xsetfont, "_XSetFont");
>   pragma INTERFACE (C, Xsetcliporigin, "_XSetClipOrigin");
>   pragma INTERFACE (C, Xsetclipmask, "_XSetClipMask");
>   pragma INTERFACE (C, Xsetcliprectangles, "_XSetClipRectangles");
>   pragma INTERFACE (C, Xsetarcmode, "_XSetArcMode");
>   pragma INTERFACE (C, Xsetsubwindowmode, "_XSetSubwindowMode");
>   pragma INTERFACE (C, Xsetgraphicsexposures, "_XSetGraphicsExposures");
>   pragma INTERFACE (C, Xcleararea, "_XClearArea");
>   pragma INTERFACE (C, Xclearwindow, "_XClearWindow");
>   pragma INTERFACE (C, Xcopyarea, "_XCopyArea");
>   pragma INTERFACE (C, Xcopyplane, "_XCopyPlane");
>   pragma INTERFACE (C, Xdrawpoint, "_XDrawPoint");
>   pragma INTERFACE (C, Xdrawpoints, "_XDrawPoints");
>   pragma INTERFACE (C, Xdrawline, "_XDrawLine");
>   pragma INTERFACE (C, Xdrawlines, "_XDrawLines");
>   pragma INTERFACE (C, Xdrawsegments, "_XDrawSegments");
>   pragma INTERFACE (C, Xdrawrectangle, "_XDrawRectangle");
>   pragma INTERFACE (C, Xdrawrectangles, "_XDrawRectangles");
>   pragma INTERFACE (C, Xdrawarc, "_XDrawArc");
>   pragma INTERFACE (C, Xdrawarcs, "_XDrawArcs");
>   pragma INTERFACE (C, Xfillrectangle, "_XFillRectangle");
>   pragma INTERFACE (C, Xfillrectangles, "_XFillRectangles");
>   pragma INTERFACE (C, Xfillpolygon, "_XFillPolygon");
>   pragma INTERFACE (C, Xfillarc, "_XFillArc");
>   pragma INTERFACE (C, Xfillarcs, "_XFillArcs");
>   pragma INTERFACE (C, Xdrawtext, "_XDrawText");
>   pragma INTERFACE (C, Xdrawtext16, "_XDrawText16");
>   pragma INTERFACE (C, Xdrawstring, "_XDrawString");
>   pragma INTERFACE (C, Xdrawstring16, "_XDrawString16");
>   pragma INTERFACE (C, Xdrawimagestring, "_XDrawImageString");
>   pragma INTERFACE (C, Xdrawimagestring16, "_XDrawImageString16");
>   pragma INTERFACE (C, Xputimage, "_XPutImage");
>   pragma INTERFACE (C, Xgetimage, "_XGetImage");
>   pragma INTERFACE (C, Xgetsubimage, "_XGetSubImage");
>   pragma INTERFACE (C, Xcreateimage, "_XCreateImage");
>   pragma INTERFACE (C, Xgetpixel, "_XGetPixel");
>   pragma INTERFACE (C, Xputpixel, "_XPutPixel");
>   pragma INTERFACE (C, Xsubimage, "_XSubImage");
>   pragma INTERFACE (C, Xaddpixel, "_XAddPixel");
>   pragma INTERFACE (C, Xdestroyimage, "_XDestroyImage");
>   pragma INTERFACE (C, Xreadbitmapfile, "_XReadBitmapFile");
>   pragma INTERFACE (C, Xwritebitmapfile, "_XWriteBitmapFile");
>   pragma INTERFACE (C, Xcreatebitmapfromdata, "_XCreateBitmapFromData");
>   pragma INTERFACE (C, Xcreatepixmapfrombitmapdata,
>                       "_XCreatePixmapFromBitmapData");
>   pragma INTERFACE (C, Xgcontextfromgc, "_XGContextFromGC");
1095,1160d1053
<   pragma INTERFACE_NAME (Xcreategc, "XCreateGC");
<   pragma INTERFACE_NAME (Xcopygc, "XCopyGC");
<   pragma INTERFACE_NAME (Xchangegc, "XChangeGC");
<   pragma INTERFACE_NAME (Xfreegc, "XFreeGC");
<   pragma INTERFACE_NAME (Xsetstate, "XSetState");
<   pragma INTERFACE_NAME (Xsetfunction, "XSetFunction");
<   pragma INTERFACE_NAME (Xsetplanemask, "XSetPlaneMask");
<   pragma INTERFACE_NAME (Xsetforeground, "XSetForeground");
<   pragma INTERFACE_NAME (Xsetbackground, "XSetBackground");
<   pragma INTERFACE_NAME (Xsetlineattributes, "XSetLineAttributes");
<   pragma INTERFACE_NAME (Xsetdashes, "XSetDashes");
<   pragma INTERFACE_NAME (Xsetfillstyle, "XSetFillStyle");
<   pragma INTERFACE_NAME (Xsetfillrule, "XSetFillRule");
<   pragma INTERFACE_NAME (Xquerybestsize, "XQueryBestSize");
<   pragma INTERFACE_NAME (Xquerybesttile, "XQueryBestTile");
<   pragma INTERFACE_NAME (Xquerybeststipple, "XQueryBestStipple");
<   pragma INTERFACE_NAME (Xsettile, "XSetTile");
<   pragma INTERFACE_NAME (Xsetstipple, "XSetStipple");
<   pragma INTERFACE_NAME (Xsettsorigin, "XSetTSOrigin");
<   pragma INTERFACE_NAME (Xsetfont, "XSetFont");
<   pragma INTERFACE_NAME (Xsetcliporigin, "XSetClipOrigin");
<   pragma INTERFACE_NAME (Xsetclipmask, "XSetClipMask");
<   pragma INTERFACE_NAME (Xsetcliprectangles, "XSetClipRectangles");
<   pragma INTERFACE_NAME (Xsetarcmode, "XSetArcMode");
<   pragma INTERFACE_NAME (Xsetsubwindowmode, "XSetSubwindowMode");
<   pragma INTERFACE_NAME (Xsetgraphicsexposures, "XSetGraphicsExposures");
<   pragma INTERFACE_NAME (Xcleararea, "XClearArea");
<   pragma INTERFACE_NAME (Xclearwindow, "XClearWindow");
<   pragma INTERFACE_NAME (Xcopyarea, "XCopyArea");
<   pragma INTERFACE_NAME (Xcopyplane, "XCopyPlane");
<   pragma INTERFACE_NAME (Xdrawpoint, "XDrawPoint");
<   pragma INTERFACE_NAME (Xdrawpoints, "XDrawPoints");
<   pragma INTERFACE_NAME (Xdrawline, "XDrawLine");
<   pragma INTERFACE_NAME (Xdrawlines, "XDrawLines");
<   pragma INTERFACE_NAME (Xdrawsegments, "XDrawSegments");
<   pragma INTERFACE_NAME (Xdrawrectangle, "XDrawRectangle");
<   pragma INTERFACE_NAME (Xdrawrectangles, "XDrawRectangles");
<   pragma INTERFACE_NAME (Xdrawarc, "XDrawArc");
<   pragma INTERFACE_NAME (Xdrawarcs, "XDrawArcs");
<   pragma INTERFACE_NAME (Xfillrectangle, "XFillRectangle");
<   pragma INTERFACE_NAME (Xfillrectangles, "XFillRectangles");
<   pragma INTERFACE_NAME (Xfillpolygon, "XFillPolygon");
<   pragma INTERFACE_NAME (Xfillarc, "XFillArc");
<   pragma INTERFACE_NAME (Xfillarcs, "XFillArcs");
<   pragma INTERFACE_NAME (Xdrawtext, "XDrawText");
<   pragma INTERFACE_NAME (Xdrawtext16, "XDrawText16");
<   pragma INTERFACE_NAME (Xdrawstring, "XDrawString");
<   pragma INTERFACE_NAME (Xdrawstring16, "XDrawString16");
<   pragma INTERFACE_NAME (Xdrawimagestring, "XDrawImageString");
<   pragma INTERFACE_NAME (Xdrawimagestring16, "XDrawImageString16");
<   pragma INTERFACE_NAME (Xputimage, "XPutImage");
<   pragma INTERFACE_NAME (Xgetimage, "XGetImage");
<   pragma INTERFACE_NAME (Xgetsubimage, "XGetSubImage");
<   pragma INTERFACE_NAME (Xcreateimage, "XCreateImage");
<   pragma INTERFACE_NAME (Xputpixel, "XPutPixel");
<   pragma INTERFACE_NAME (Xgetpixel, "XGetPixel");
<   pragma INTERFACE_NAME (Xsubimage, "XSubImage");
<   pragma INTERFACE_NAME (Xaddpixel, "XAddPixel");
<   pragma INTERFACE_NAME (Xdestroyimage, "XDestroyImage");
<   pragma INTERFACE_NAME (Xreadbitmapfile, "XReadBitmapFile");
<   pragma INTERFACE_NAME (Xwritebitmapfile, "XWriteBitmapFile");
<   pragma INTERFACE_NAME (Xcreatebitmapfromdata, "XCreateBitmapFromData");
<   pragma INTERFACE_NAME (Xcreatepixmapfrombitmapdata, 
<                          "XCreatePixmapFromBitmapData");
<   pragma INTERFACE_NAME (Xgcontextfromgc, "XGContextFromGC");
<   
1215,1222c1108,1115
<   pragma INTERFACE (C, Xcreatefontcursor);
<   pragma INTERFACE (C, Xcreatepixmapcursor);
<   pragma INTERFACE (C, Xcreateglyphcursor);
<   pragma INTERFACE (C, Xrecolorcursor);
<   pragma INTERFACE (C, Xfreecursor);
<   pragma INTERFACE (C, Xquerybestcursor);
<   pragma INTERFACE (C, Xdefinecursor);
<   pragma INTERFACE (C, Xundefinecursor);
---
>   pragma INTERFACE (C, Xcreatefontcursor, "_XCreateFontCursor");
>   pragma INTERFACE (C, Xcreatepixmapcursor, "_XCreatePixmapCursor");
>   pragma INTERFACE (C, Xcreateglyphcursor, "_XCreateGlyphCursor");
>   pragma INTERFACE (C, Xrecolorcursor, "_XRecolorCursor");
>   pragma INTERFACE (C, Xfreecursor, "_XFreeCursor");
>   pragma INTERFACE (C, Xquerybestcursor, "_XQueryBestCursor");
>   pragma INTERFACE (C, Xdefinecursor, "_XDefineCursor");
>   pragma INTERFACE (C, Xundefinecursor, "_XUndefineCursor");
1224,1232d1116
<   pragma INTERFACE_NAME (Xcreatefontcursor, "XCreateFontCursor");
<   pragma INTERFACE_NAME (Xcreatepixmapcursor, "XCreatePixmapCursor");
<   pragma INTERFACE_NAME (Xcreateglyphcursor, "XCreateGlyphCursor");
<   pragma INTERFACE_NAME (Xrecolorcursor, "XRecolorCursor");
<   pragma INTERFACE_NAME (Xfreecursor, "XFreeCursor");
<   pragma INTERFACE_NAME (Xquerybestcursor, "XQueryBestCursor");
<   pragma INTERFACE_NAME (Xdefinecursor, "XDefineCursor");
<   pragma INTERFACE_NAME (Xundefinecursor, "XUndefineCursor");
<   
1249,1251c1133,1135
<   pragma INTERFACE (C, Xopendisplay);
<   pragma INTERFACE (C, Xnoop);
<   pragma INTERFACE (C, Xclosedisplay);
---
>   pragma INTERFACE (C, Xopendisplay, "_XOpenDisplay");
>   pragma INTERFACE (C, Xnoop, "_XNoOp");
>   pragma INTERFACE (C, Xclosedisplay, "_XCloseDisplay");
1253,1256d1136
<   pragma INTERFACE_NAME (Xopendisplay, "XOpenDisplay");
<   pragma INTERFACE_NAME (Xnoop, "XNoOp");
<   pragma INTERFACE_NAME (Xclosedisplay, "XCloseDisplay");
<   
1835,1908c1715,1789
<   pragma INTERFACE (C, Xgetvisualinfo);
<   pragma INTERFACE (C, Xmatchvisualinfo);
<   pragma INTERFACE (C, Xsetstandardproperties);
<   pragma INTERFACE (C, Xstorename);
<   pragma INTERFACE (C, Xfetchname);
<   pragma INTERFACE (C, Xseticonname);
<   pragma INTERFACE (C, Xgeticonname);
<   pragma INTERFACE (C, Xsetcommand);
<   pragma INTERFACE (C, Xsetwmhints);
<   pragma INTERFACE (C, Xgetwmhints);
<   pragma INTERFACE (C, Xgetstandardcolormap);
<   pragma INTERFACE (C, Xsetstandardcolormap);
<   pragma INTERFACE (C, Xcreatewindow);
<   pragma INTERFACE (C, Xcreatesimplewindow);
<   pragma INTERFACE (C, Xdestroywindow);
<   pragma INTERFACE (C, Xdestroysubwindows);
<   pragma INTERFACE (C, Xmapwindow);
<   pragma INTERFACE (C, Xmapraised);
<   pragma INTERFACE (C, Xmapsubwindows);
<   pragma INTERFACE (C, Xunmapwindow);
<   pragma INTERFACE (C, Xunmapsubwindows);
<   pragma INTERFACE (C, Xsetnormalhints);
<   pragma INTERFACE (C, Xgetnormalhints);
<   pragma INTERFACE (C, Xsetzoomhints);
<   pragma INTERFACE (C, Xgetzoomhints);
<   pragma INTERFACE (C, Xsetsizehints);
<   pragma INTERFACE (C, Xgetsizehints);
<   pragma INTERFACE (C, Xseticonsizes);
<   pragma INTERFACE (C, Xgeticonsizes);
<   pragma INTERFACE (C, Xsetclasshint);
<   pragma INTERFACE (C, Xgetclasshint);
<   pragma INTERFACE (C, Xsettransientforhint);
<   pragma INTERFACE (C, Xgettransientforhint);
<   pragma INTERFACE (C, Xconfigurewindow);
<   pragma INTERFACE (C, Xmovewindow);
<   pragma INTERFACE (C, Xresizewindow);
<   pragma INTERFACE (C, Xmoveresizewindow);
<   pragma INTERFACE (C, Xsetwindowborderwidth);
<   pragma INTERFACE (C, Xraisewindow);
<   pragma INTERFACE (C, Xlowerwindow);
<   pragma INTERFACE (C, Xcirculatesubwindows);
<   pragma INTERFACE (C, Xcirculatesubwindowsup);
<   pragma INTERFACE (C, Xcirculatesubwindowsdown);
<   pragma INTERFACE (C, Xrestackwindows);
<   pragma INTERFACE (C, Xchangewindowattributes);
<   pragma INTERFACE (C, Xsetwindowbackground);
<   pragma INTERFACE (C, Xsetwindowbackgroundpixmap);
<   pragma INTERFACE (C, Xsetwindowborder);
<   pragma INTERFACE (C, Xsetwindowborderpixmap);
<   pragma INTERFACE (C, Xtranslatecoordinates);
<   pragma INTERFACE (C, Xquerytree);
<   pragma INTERFACE (C, Xgetwindowattributes);
<   pragma INTERFACE (C, Xgetgeometry);
<   pragma INTERFACE (C, Xparsegeometry);
<   pragma INTERFACE (C, Xgeometry);
<   pragma INTERFACE (C, Xquerypointer);
<   pragma INTERFACE (C, Xinternatom);
<   pragma INTERFACE (C, Xgetatomname);
<   pragma INTERFACE (C, Xgetwindowproperty);
<   pragma INTERFACE (C, Xlistproperties);
<   pragma INTERFACE (C, Xchangeproperty);
<   pragma INTERFACE (C, Xrotatewindowproperties);
<   pragma INTERFACE (C, Xdeleteproperty);
<   pragma INTERFACE (C, Xsetselectionowner);
<   pragma INTERFACE (C, Xgetselectionowner);
<   pragma INTERFACE (C, Xconvertselection);
<   pragma INTERFACE (C, Xreparentwindow);
<   pragma INTERFACE (C, Xchangesaveset);
<   pragma INTERFACE (C, Xaddtosaveset);
<   pragma INTERFACE (C, Xremovefromsaveset);
<   pragma INTERFACE (C, Xsavecontext);
<   pragma INTERFACE (C, Xfindcontext);
<   pragma INTERFACE (C, Xdeletecontext);
<   pragma INTERFACE (C, Xsynchronize);
---
>   pragma INTERFACE (C, Xgetvisualinfo, "_XGetVisualInfo");
>   pragma INTERFACE (C, Xmatchvisualinfo, "_XMatchVisualInfo");
>   pragma INTERFACE (C, Xsetstandardproperties, "_XSetStandardProperties");
>   pragma INTERFACE (C, Xstorename, "_XStoreName");
>   pragma INTERFACE (C, Xfetchname, "_XFetchName");
>   pragma INTERFACE (C, Xseticonname, "_XSetIconName");
>   pragma INTERFACE (C, Xgeticonname, "_XGetIconName");
>   pragma INTERFACE (C, Xsetcommand, "_XSetCommand");
>   pragma INTERFACE (C, Xsetwmhints, "_XSetWMHints");
>   pragma INTERFACE (C, Xgetwmhints, "_XGetWMHints");
>   pragma INTERFACE (C, Xgetstandardcolormap, "_XGetStandardColormap");
>   pragma INTERFACE (C, Xsetstandardcolormap, "_XSetStandardColormap");
>   pragma INTERFACE (C, Xcreatewindow, "_XCreateWindow");
>   pragma INTERFACE (C, Xcreatesimplewindow, "_XCreateSimpleWindow");
>   pragma INTERFACE (C, Xdestroywindow, "_XDestroyWindow");
>   pragma INTERFACE (C, Xdestroysubwindows, "_XDestroySubwindows");
>   pragma INTERFACE (C, Xmapwindow, "_XMapWindow");
>   pragma INTERFACE (C, Xmapraised, "_XMapRaised");
>   pragma INTERFACE (C, Xmapsubwindows, "_XMapSubwindows");
>   pragma INTERFACE (C, Xunmapwindow, "_XUnmapWindow");
>   pragma INTERFACE (C, Xunmapsubwindows, "_XUnmapSubwindows");
>   pragma INTERFACE (C, Xsetnormalhints, "_XSetNormalHints");
>   pragma INTERFACE (C, Xgetnormalhints, "_XGetNormalHints");
>   pragma INTERFACE (C, Xsetzoomhints, "_XSetZoomHints");
>   pragma INTERFACE (C, Xgetzoomhints, "_XGetZoomHints");
>   pragma INTERFACE (C, Xsetsizehints, "_XSetSizeHints");
>   pragma INTERFACE (C, Xgetsizehints, "_XGetSizeHints");
>   pragma INTERFACE (C, Xseticonsizes, "_XSetIconSizes");
>   pragma INTERFACE (C, Xgeticonsizes, "_XGetIconSizes");
>   pragma INTERFACE (C, Xsetclasshint, "_XSetClassHint");
>   pragma INTERFACE (C, Xgetclasshint, "_XGetClassHint");
>   pragma INTERFACE (C, Xsettransientforhint, "_XSetTransientForHint");
>   pragma INTERFACE (C, Xgettransientforhint, "_XGetTransientForHint");
>   pragma INTERFACE (C, Xconfigurewindow, "_XConfigureWindow");
>   pragma INTERFACE (C, Xmovewindow, "_XMoveWindow");
>   pragma INTERFACE (C, Xresizewindow, "_XResizeWindow");
>   pragma INTERFACE (C, Xmoveresizewindow, "_XMoveResizeWindow");
>   pragma INTERFACE (C, Xsetwindowborderwidth, "_XSetWindowBorderWidth");
>   pragma INTERFACE (C, Xraisewindow, "_XRaiseWindow");
>   pragma INTERFACE (C, Xlowerwindow, "_XLowerWindow");
>   pragma INTERFACE (C, Xcirculatesubwindows, "_XCirculateSubwindows");
>   pragma INTERFACE (C, Xcirculatesubwindowsup, "_XCirculateSubwindowsUp");
>   pragma INTERFACE (C, Xcirculatesubwindowsdown, "_XCirculateSubwindowsDown");
>   pragma INTERFACE (C, Xrestackwindows, "_XRestackWindows");
>   pragma INTERFACE (C, Xchangewindowattributes, "_XChangeWindowAttributes");
>   pragma INTERFACE (C, Xsetwindowbackground, "_XSetWindowBackground");
>   pragma INTERFACE (C, Xsetwindowbackgroundpixmap, 
>                        "_XSetWindowBackgroundPixmap");
>   pragma INTERFACE (C, Xsetwindowborder, "_XSetWindowBorder");
>   pragma INTERFACE (C, Xsetwindowborderpixmap, "_XSetWindowBorderPixmap");
>   pragma INTERFACE (C, Xtranslatecoordinates, "_XTranslateCoordinates");
>   pragma INTERFACE (C, Xquerytree, "_XQueryTree");
>   pragma INTERFACE (C, Xgetwindowattributes, "_XGetWindowAttributes");
>   pragma INTERFACE (C, Xgetgeometry, "_XGetGeometry");
>   pragma INTERFACE (C, Xparsegeometry, "_XParseGeometry");
>   pragma INTERFACE (C, Xgeometry, "_XGeometry");
>   pragma INTERFACE (C, Xquerypointer, "_XQueryPointer");
>   pragma INTERFACE (C, Xinternatom, "_XInternAtom");
>   pragma INTERFACE (C, Xgetatomname, "_XGetAtomName");
>   pragma INTERFACE (C, Xgetwindowproperty, "_XGetWindowProperty");
>   pragma INTERFACE (C, Xlistproperties, "_XListProperties");
>   pragma INTERFACE (C, Xchangeproperty, "_XChangeProperty");
>   pragma INTERFACE (C, Xrotatewindowproperties, "_XRotateWindowProperties");
>   pragma INTERFACE (C, Xdeleteproperty, "_XDeleteProperty");
>   pragma INTERFACE (C, Xsetselectionowner, "_XSetSelectionOwner");
>   pragma INTERFACE (C, Xgetselectionowner, "_XGetSelectionOwner");
>   pragma INTERFACE (C, Xconvertselection, "_XConvertSelection");
>   pragma INTERFACE (C, Xreparentwindow, "_XReparentWindow");
>   pragma INTERFACE (C, Xchangesaveset, "_XChangeSaveSet");
>   pragma INTERFACE (C, Xaddtosaveset, "_XAddToSaveSet");
>   pragma INTERFACE (C, Xremovefromsaveset, "_XRemoveFromSaveSet");
>   pragma INTERFACE (C, Xsavecontext, "_XSaveContext");
>   pragma INTERFACE (C, Xfindcontext, "_XFindContext");
>   pragma INTERFACE (C, Xdeletecontext, "_XDeleteContext");
>   pragma INTERFACE (C, Xsynchronize, "_XSynchronize");
1910,1984d1790
<   pragma INTERFACE_NAME (Xgetvisualinfo, "XGetVisualInfo");
<   pragma INTERFACE_NAME (Xmatchvisualinfo, "XMatchVisualInfo");
<   pragma INTERFACE_NAME (Xsetstandardproperties, "XSetStandardProperties");
<   pragma INTERFACE_NAME (Xstorename, "XStoreName");
<   pragma INTERFACE_NAME (Xfetchname, "XFetchName");
<   pragma INTERFACE_NAME (Xseticonname, "XSetIconName");
<   pragma INTERFACE_NAME (Xgeticonname, "XGetIconName");
<   pragma INTERFACE_NAME (Xsetcommand, "XSetCommand");
<   pragma INTERFACE_NAME (Xsetwmhints, "XSetWMHints");
<   pragma INTERFACE_NAME (Xgetwmhints, "XGetWMHints");
<   pragma INTERFACE_NAME (Xgetstandardcolormap, "XGetStandardColormap");
<   pragma INTERFACE_NAME (Xsetstandardcolormap, "XSetStandardColormap");
<   pragma INTERFACE_NAME (Xcreatewindow, "XCreateWindow");
<   pragma INTERFACE_NAME (Xcreatesimplewindow, "XCreateSimpleWindow");
<   pragma INTERFACE_NAME (Xdestroywindow, "XDestroyWindow");
<   pragma INTERFACE_NAME (Xdestroysubwindows, "XDestroySubwindows");
<   pragma INTERFACE_NAME (Xmapwindow, "XMapWindow");
<   pragma INTERFACE_NAME (Xmapraised, "XMapRaised");
<   pragma INTERFACE_NAME (Xmapsubwindows, "XMapSubwindows");
<   pragma INTERFACE_NAME (Xunmapwindow, "XUnmapWindow");
<   pragma INTERFACE_NAME (Xunmapsubwindows, "XUnmapSubwindows");
<   pragma INTERFACE_NAME (Xsetnormalhints, "XSetNormalHints");
<   pragma INTERFACE_NAME (Xgetnormalhints, "XGetNormalHints");
<   pragma INTERFACE_NAME (Xsetzoomhints, "XSetZoomHints");
<   pragma INTERFACE_NAME (Xgetzoomhints, "XGetZoomHints");
<   pragma INTERFACE_NAME (Xsetsizehints, "XSetSizeHints");
<   pragma INTERFACE_NAME (Xgetsizehints, "XGetSizeHints");
<   pragma INTERFACE_NAME (Xseticonsizes, "XSetIconSizes");
<   pragma INTERFACE_NAME (Xsetclasshint, "XSetClassHint");
<   pragma INTERFACE_NAME (Xgetclasshint, "XGetClassHint");
<   pragma INTERFACE_NAME (Xgeticonsizes, "XGetIconSizes");
<   pragma INTERFACE_NAME (Xsettransientforhint, "XSetTransientForHint");
<   pragma INTERFACE_NAME (Xgettransientforhint, "XGetTransientForHint");
<   pragma INTERFACE_NAME (Xconfigurewindow, "XConfigureWindow");
<   pragma INTERFACE_NAME (Xmovewindow, "XMoveWindow");
<   pragma INTERFACE_NAME (Xresizewindow, "XResizeWindow");
<   pragma INTERFACE_NAME (Xmoveresizewindow, "XMoveResizeWindow");
<   pragma INTERFACE_NAME (Xsetwindowborderwidth, "XSetWindowBorderWidth");
<   pragma INTERFACE_NAME (Xraisewindow, "XRaiseWindow");
<   pragma INTERFACE_NAME (Xlowerwindow, "XLowerWindow");
<   pragma INTERFACE_NAME (Xcirculatesubwindows, "XCirculateSubwindows");
<   pragma INTERFACE_NAME (Xcirculatesubwindowsup, "XCirculateSubwindowsUp");
<   pragma INTERFACE_NAME (Xcirculatesubwindowsdown, "XCirculateSubwindowsDown");
<   pragma INTERFACE_NAME (Xrestackwindows, "XRestackWindows");
<   pragma INTERFACE_NAME (Xchangewindowattributes, "XChangeWindowAttributes");
<   pragma INTERFACE_NAME (Xsetwindowbackground, "XSetWindowBackground");
<   pragma INTERFACE_NAME (Xsetwindowbackgroundpixmap, 
<                          "XSetWindowBackgroundPixmap");
<   pragma INTERFACE_NAME (Xsetwindowborder, "XSetWindowBorder");
<   pragma INTERFACE_NAME (Xsetwindowborderpixmap, "XSetWindowBorderPixmap");
<   pragma INTERFACE_NAME (Xtranslatecoordinates, "XTranslateCoordinates");
<   pragma INTERFACE_NAME (Xquerytree, "XQueryTree");
<   pragma INTERFACE_NAME (Xgetwindowattributes, "XGetWindowAttributes");
<   pragma INTERFACE_NAME (Xgetgeometry, "XGetGeometry");
<   pragma INTERFACE_NAME (Xparsegeometry, "XParseGeometry");
<   pragma INTERFACE_NAME (Xgeometry, "XGeometry");
<   pragma INTERFACE_NAME (Xquerypointer, "XQueryPointer");
<   pragma INTERFACE_NAME (Xinternatom, "XInternAtom");
<   pragma INTERFACE_NAME (Xgetatomname, "XGetAtomName");
<   pragma INTERFACE_NAME (Xgetwindowproperty, "XGetWindowProperty");
<   pragma INTERFACE_NAME (Xlistproperties, "XListProperties");
<   pragma INTERFACE_NAME (Xchangeproperty, "XChangeProperty");
<   pragma INTERFACE_NAME (Xrotatewindowproperties, "XRotateWindowProperties");
<   pragma INTERFACE_NAME (Xdeleteproperty, "XDeleteProperty");
<   pragma INTERFACE_NAME (Xsetselectionowner, "XSetSelectionOwner");
<   pragma INTERFACE_NAME (Xgetselectionowner, "XGetSelectionOwner");
<   pragma INTERFACE_NAME (Xconvertselection, "XConvertSelection");
<   pragma INTERFACE_NAME (Xreparentwindow, "XReparentWindow");
<   pragma INTERFACE_NAME (Xchangesaveset, "XChangeSaveSet");
<   pragma INTERFACE_NAME (Xaddtosaveset, "XAddToSaveSet");
<   pragma INTERFACE_NAME (Xremovefromsaveset, "XRemoveFromSaveSet");
<   pragma INTERFACE_NAME (Xsavecontext, "XSaveContext");
<   pragma INTERFACE_NAME (Xfindcontext, "XFindContext");
<   pragma INTERFACE_NAME (Xdeletecontext, "XDeleteContext");
<   
2014,2019c1820,1825
<   pragma INTERFACE (C, Xstorebuffer);
<   pragma INTERFACE (C, Xstorebytes);
<   pragma INTERFACE (C, Xfetchbuffer);
<   pragma INTERFACE (C, Xfetchbytes);
<   pragma INTERFACE (C, Xrotatebuffers);
<   pragma INTERFACE (C, Xdisplayname);
---
>   pragma INTERFACE (C, Xstorebuffer, "_XStoreBuffer");
>   pragma INTERFACE (C, Xstorebytes, "_XStoreBytes");
>   pragma INTERFACE (C, Xfetchbuffer, "_XFetchBuffer");
>   pragma INTERFACE (C, Xfetchbytes, "_XFetchBytes");
>   pragma INTERFACE (C, Xrotatebuffers, "_XRotateBuffers");
>   pragma INTERFACE (C, Xdisplayname, "_XDisplayName");
2021,2027d1826
<   pragma INTERFACE_NAME (Xstorebuffer, "XStoreBuffer");
<   pragma INTERFACE_NAME (Xstorebytes, "XStoreBytes");
<   pragma INTERFACE_NAME (Xfetchbuffer, "XFetchBuffer");
<   pragma INTERFACE_NAME (Xfetchbytes, "XFetchBytes");
<   pragma INTERFACE_NAME (Xrotatebuffers, "XRotateBuffers");
<   pragma INTERFACE_NAME (Xdisplayname, "XDisplayName");
<   
2165,2189c1964,1988
<   pragma INTERFACE (C, Xselectinput);
<   pragma INTERFACE (C, Xflush);
<   pragma INTERFACE (C, Xsync);
<   pragma INTERFACE (C, Xpending);
<   pragma INTERFACE (C, Xeventsqueued);
<   pragma INTERFACE (C, Xnextevent);
<   pragma INTERFACE (C, Xpeekevent);
<   pragma INTERFACE (C, Xputbackevent);
<   pragma INTERFACE (C, Xwindowevent);
<   pragma INTERFACE (C, Xcheckwindowevent);
<   pragma INTERFACE (C, Xchecktypedevent);
<   pragma INTERFACE (C, Xchecktypedwindowevent);
<   pragma INTERFACE (C, Xmaskevent);
<   pragma INTERFACE (C, Xcheckmaskevent);
<   pragma INTERFACE (C, Xgetmotionevents);
<   pragma INTERFACE (C, Xsendevent);
<   pragma INTERFACE (C, Xlookupkeysym);
<   pragma INTERFACE (C, Xrefreshkeyboardmapping);
<   pragma INTERFACE (C, Xlookupstring);
<   pragma INTERFACE (C, Xrebindkeysym);
<   pragma INTERFACE (C, Xstringtokeysym);
<   pragma INTERFACE (C, Xkeysymtostring);
<   pragma INTERFACE (C, Xkeycodetokeysym);
<   pragma INTERFACE (C, Xkeysymtokeycode);
<   pragma INTERFACE (C, Xgetdefault);
---
>   pragma INTERFACE (C, Xselectinput, "_XSelectInput");
>   pragma INTERFACE (C, Xflush, "_XFlush");
>   pragma INTERFACE (C, Xsync, "_XSync");
>   pragma INTERFACE (C, Xpending, "_XPending");
>   pragma INTERFACE (C, Xeventsqueued, "_XEventsQueued");
>   pragma INTERFACE (C, Xnextevent, "_XNextEvent");
>   pragma INTERFACE (C, Xpeekevent, "_XPeekEvent");
>   pragma INTERFACE (C, Xputbackevent, "_XPutBackEvent");
>   pragma INTERFACE (C, Xwindowevent, "_XWindowEvent");
>   pragma INTERFACE (C, Xcheckwindowevent, "_XCheckWindowEvent");
>   pragma INTERFACE (C, Xchecktypedevent, "_XCheckTypedEvent");
>   pragma INTERFACE (C, Xchecktypedwindowevent, "_XCheckTypedWindowEvent");
>   pragma INTERFACE (C, Xmaskevent, "_XMaskEvent");
>   pragma INTERFACE (C, Xcheckmaskevent, "_XCheckMaskEvent");
>   pragma INTERFACE (C, Xgetmotionevents, "_XGetMotionEvents");
>   pragma INTERFACE (C, Xsendevent, "_XSendEvent");
>   pragma INTERFACE (C, Xlookupkeysym, "_XLookupKeysym");
>   pragma INTERFACE (C, Xrefreshkeyboardmapping, "_XRefreshKeyboardMapping");
>   pragma INTERFACE (C, Xlookupstring, "_XLookupString");
>   pragma INTERFACE (C, Xrebindkeysym, "_XRebindKeysym");
>   pragma INTERFACE (C, Xstringtokeysym, "_XStringToKeysym");
>   pragma INTERFACE (C, Xkeysymtostring, "_XKeysymToString");
>   pragma INTERFACE (C, Xkeycodetokeysym, "_XKeycodeToKeysym");
>   pragma INTERFACE (C, Xkeysymtokeycode, "_XKeysymToKeycode");
>   pragma INTERFACE (C, Xgetdefault, "_XGetDefault");
2191,2216d1989
<   pragma INTERFACE_NAME (Xgetmotionevents, "XGetMotionEvents");
<   pragma INTERFACE_NAME (Xsendevent, "XSendEvent");
<   pragma INTERFACE_NAME (Xlookupkeysym, "XLookupKeysym");
<   pragma INTERFACE_NAME (Xrefreshkeyboardmapping, "XRefreshKeyboardMapping");
<   pragma INTERFACE_NAME (Xlookupstring, "XLookupString");
<   pragma INTERFACE_NAME (Xrebindkeysym, "XRebindKeysym");
<   pragma INTERFACE_NAME (Xgetdefault, "XGetDefault");
<   pragma INTERFACE_NAME (Xstringtokeysym, "XStringToKeysym");
<   pragma INTERFACE_NAME (Xkeysymtostring, "XKeysymToString");
<   pragma INTERFACE_NAME (Xkeycodetokeysym, "XKeycodeToKeysym");
<   pragma INTERFACE_NAME (Xkeysymtokeycode, "XKeysymToKeycode");
<   pragma INTERFACE_NAME (Xselectinput, "XSelectInput");
<   pragma INTERFACE_NAME (Xflush, "XFlush");
<   pragma INTERFACE_NAME (Xsync, "XSync");
<   pragma INTERFACE_NAME (Xpending, "XPending");
<   pragma INTERFACE_NAME (Xeventsqueued, "XEventsQueued");
<   pragma INTERFACE_NAME (Xnextevent, "XNextEvent");
<   pragma INTERFACE_NAME (Xpeekevent, "XPeekEvent");
<   pragma INTERFACE_NAME (Xputbackevent, "XPutBackEvent");
<   pragma INTERFACE_NAME (Xwindowevent, "XWindowEvent");
<   pragma INTERFACE_NAME (Xcheckwindowevent, "XCheckWindowEvent");
<   pragma INTERFACE_NAME (Xchecktypedevent, "XCheckTypedEvent");
<   pragma INTERFACE_NAME (Xchecktypedwindowevent, "XCheckTypedWindowEvent");
<   pragma INTERFACE_NAME (Xmaskevent, "XMaskEvent");
<   pragma INTERFACE_NAME (Xcheckmaskevent, "XCheckMaskEvent");
<   
2284c2057
<                        !3 Window_Id     : in Long;
---
>                           Window_Id     : in Long;
2445,2539c2218,2264
<   pragma INTERFACE (C, Xgrabbutton);
<   pragma INTERFACE (C, Xungrabbutton);
<   pragma INTERFACE (C, Xgrabpointer);
<   pragma INTERFACE (C, Xungrabpointer);
<   pragma INTERFACE (C, Xchangeactivepointergrab);
<   pragma INTERFACE (C, Xgrabkeyboard);
<   pragma INTERFACE (C, Xungrabkeyboard);
<   pragma INTERFACE (C, Xgrabkey);
<   pragma INTERFACE (C, Xungrabkey);
<   pragma INTERFACE (C, Xallowevents);
<   pragma INTERFACE (C, Xgrabserver);
<   pragma INTERFACE (C, Xungrabserver);
<   pragma INTERFACE (C, Xwarppointer);
<   pragma INTERFACE (C, Xsetinputfocus);
<   pragma INTERFACE (C, Xgetinputfocus);
<   pragma INTERFACE (C, Xchangepointercontrol);
<   pragma INTERFACE (C, Xgetpointercontrol);
<   pragma INTERFACE (C, Xsetclosedownmode);
<   pragma INTERFACE (C, Xkillclient);
<   pragma INTERFACE (C, Xchangekeyboardcontrol);
<   pragma INTERFACE (C, Xgetkeyboardcontrol);
<   pragma INTERFACE (C, Xautorepeaton);
<   pragma INTERFACE (C, Xautorepeatoff);
<   pragma INTERFACE (C, Xbell);
<   pragma INTERFACE (C, Xsetpointermapping);
<   pragma INTERFACE (C, Xgetpointermapping);
<   pragma INTERFACE (C, Xquerykeymap);
<   pragma INTERFACE (C, Xgetkeyboardmapping);
<   pragma INTERFACE (C, Xchangekeyboardmapping);
<   pragma INTERFACE (C, Xsetmodifiermapping);
<   pragma INTERFACE (C, Xgetmodifiermapping);
<   pragma INTERFACE (C, Xfreemodifiermapping);
<   pragma INTERFACE (C, Xnewmodifiermapping);
<   pragma INTERFACE (C, Xsetscreensaver);
<   pragma INTERFACE (C, Xforcescreensaver);
<   pragma INTERFACE (C, Xactivatescreensaver);
<   pragma INTERFACE (C, Xresetscreensaver);
<   pragma INTERFACE (C, Xgetscreensaver);
<   pragma INTERFACE (C, Xaddhost);
<   pragma INTERFACE (C, Xaddhosts);
<   pragma INTERFACE (C, Xlisthosts);
<   pragma INTERFACE (C, Xremovehost);
<   pragma INTERFACE (C, Xremovehosts);
<   pragma INTERFACE (C, Xsetaccesscontrol);
<   pragma INTERFACE (C, Xenableaccesscontrol);
<   pragma INTERFACE (C, Xdisableaccesscontrol);
<   
<   pragma INTERFACE_NAME (Xgrabbutton, "XGrabButton");
<   pragma INTERFACE_NAME (Xungrabbutton, "XUngrabButton");
<   pragma INTERFACE_NAME (Xgrabpointer, "XGrabPointer");
<   pragma INTERFACE_NAME (Xungrabpointer, "XUngrabPointer");
<   pragma INTERFACE_NAME (Xchangeactivepointergrab, "XChangeActivePointerGrab");
<   pragma INTERFACE_NAME (Xgrabkeyboard, "XGrabKeyboard");
<   pragma INTERFACE_NAME (Xungrabkeyboard, "XUngrabKeyboard");
<   pragma INTERFACE_NAME (Xgrabkey, "XGrabKey");
<   pragma INTERFACE_NAME (Xungrabkey, "XUngrabKey");
<   pragma INTERFACE_NAME (Xallowevents, "XAllowEvents");
<   pragma INTERFACE_NAME (Xgrabserver, "XGrabServer");
<   pragma INTERFACE_NAME (Xungrabserver, "XUngrabServer");
<   pragma INTERFACE_NAME (Xwarppointer, "XWarpPointer");
<   pragma INTERFACE_NAME (Xsetinputfocus, "XSetInputFocus");
<   pragma INTERFACE_NAME (Xgetinputfocus, "XGetInputFocus");
<   pragma INTERFACE_NAME (Xchangepointercontrol, "XChangePointerControl");
<   pragma INTERFACE_NAME (Xgetpointercontrol, "XGetPointerControl");
<   pragma INTERFACE_NAME (Xsetclosedownmode, "XSetCloseDownMode");
<   pragma INTERFACE_NAME (Xkillclient, "XKillClient");
<   pragma INTERFACE_NAME (Xchangekeyboardcontrol, "XChangeKeyboardControl");
<   pragma INTERFACE_NAME (Xgetkeyboardcontrol, "XGetKeyboardControl");
<   pragma INTERFACE_NAME (Xautorepeaton, "XAutoRepeatOn");
<   pragma INTERFACE_NAME (Xautorepeatoff, "XAutoRepeatOff");
<   pragma INTERFACE_NAME (Xbell, "XBell");
<   pragma INTERFACE_NAME (Xsetpointermapping, "XSetPointerMapping");
<   pragma INTERFACE_NAME (Xgetpointermapping, "XGetPointerMapping");
<   pragma INTERFACE_NAME (Xquerykeymap, "XQueryKeymap");
<   pragma INTERFACE_NAME (Xgetkeyboardmapping, "XGetKeyboardMapping");
<   pragma INTERFACE_NAME (Xchangekeyboardmapping, "XChangeKeyboardMapping");
<   pragma INTERFACE_NAME (Xsetmodifiermapping, "XSetModifierMapping");
<   pragma INTERFACE_NAME (Xgetmodifiermapping, "XGetModifierMapping");
<   pragma INTERFACE_NAME (Xfreemodifiermapping, "XFreeModifiermap");
<   pragma INTERFACE_NAME (Xnewmodifiermapping, "XNewModifiermap");
<   pragma INTERFACE_NAME (Xsetscreensaver, "XSetScreenSaver");
<   pragma INTERFACE_NAME (Xforcescreensaver, "XForceScreenSaver");
<   pragma INTERFACE_NAME (Xactivatescreensaver, "XActivateScreenSaver");
<   pragma INTERFACE_NAME (Xresetscreensaver, "XResetScreenSaver");
<   pragma INTERFACE_NAME (Xgetscreensaver, "XGetScreenSaver");
<   pragma INTERFACE_NAME (Xaddhost, "XAddHost");
<   pragma INTERFACE_NAME (Xaddhosts, "XAddHosts");
<   pragma INTERFACE_NAME (Xlisthosts, "XListHosts");
<   pragma INTERFACE_NAME (Xremovehost, "XRemoveHost");
<   pragma INTERFACE_NAME (Xremovehosts, "XRemoveHosts");
<   pragma INTERFACE_NAME (Xsetaccesscontrol, "XSetAccessControl");
<   pragma INTERFACE_NAME (Xenableaccesscontrol, "XEnableAccessControl");
<   pragma INTERFACE_NAME (Xdisableaccesscontrol, "XDisableAccessControl");
<   pragma INTERFACE_NAME (Xsynchronize, "XSynchronize");
<   
---
>   pragma INTERFACE (C, Xgrabbutton, "_XGrabButton");
>   pragma INTERFACE (C, Xungrabbutton, "_XUngrabButton");
>   pragma INTERFACE (C, Xgrabpointer, "_XGrabPointer");
>   pragma INTERFACE (C, Xungrabpointer, "_XUngrabPointer");
>   pragma INTERFACE (C, Xchangeactivepointergrab, "_XChangeActivePointerGrab");
>   pragma INTERFACE (C, Xgrabkeyboard, "_XGrabKeyboard");
>   pragma INTERFACE (C, Xungrabkeyboard, "_XUngrabKeyboard");
>   pragma INTERFACE (C, Xgrabkey, "_XGrabKey");
>   pragma INTERFACE (C, Xungrabkey, "_XUngrabKey");
>   pragma INTERFACE (C, Xallowevents, "_XAllowEvents");
>   pragma INTERFACE (C, Xgrabserver, "_XGrabServer");
>   pragma INTERFACE (C, Xungrabserver, "_XUngrabServer");
>   pragma INTERFACE (C, Xwarppointer, "_XWarpPointer");
>   pragma INTERFACE (C, Xsetinputfocus, "_XSetInputFocus");
>   pragma INTERFACE (C, Xgetinputfocus, "_XGetInputFocus");
>   pragma INTERFACE (C, Xchangepointercontrol, "_XChangePointerControl");
>   pragma INTERFACE (C, Xgetpointercontrol, "_XGetPointerControl");
>   pragma INTERFACE (C, Xsetclosedownmode, "_XSetCloseDownMode");
>   pragma INTERFACE (C, Xkillclient, "_XKillClient");
>   pragma INTERFACE (C, Xchangekeyboardcontrol, "_XChangeKeyboardControl");
>   pragma INTERFACE (C, Xgetkeyboardcontrol, "_XGetKeyboardControl");
>   pragma INTERFACE (C, Xautorepeaton, "_XAutoRepeatOn");
>   pragma INTERFACE (C, Xautorepeatoff, "_XAutoRepeatOff");
>   pragma INTERFACE (C, Xbell, "_XBell");
>   pragma INTERFACE (C, Xsetpointermapping, "_XSetPointerMapping");
>   pragma INTERFACE (C, Xgetpointermapping, "_XGetPointerMapping");
>   pragma INTERFACE (C, Xquerykeymap, "_XQueryKeymap");
>   pragma INTERFACE (C, Xgetkeyboardmapping, "_XGetKeyboardMapping");
>   pragma INTERFACE (C, Xchangekeyboardmapping, "_XChangeKeyboardMapping");
>   pragma INTERFACE (C, Xsetmodifiermapping, "_XSetModifierMapping");
>   pragma INTERFACE (C, Xgetmodifiermapping, "_XGetModifierMapping");
>   pragma INTERFACE (C, Xfreemodifiermapping, "_XFreeModifiermap");
>   pragma INTERFACE (C, Xnewmodifiermapping, "_XNewModifiermap");
>   pragma INTERFACE (C, Xsetscreensaver, "_XSetScreenSaver");
>   pragma INTERFACE (C, Xforcescreensaver, "_XForceScreenSaver");
>   pragma INTERFACE (C, Xactivatescreensaver, "_XActivateScreenSaver");
>   pragma INTERFACE (C, Xresetscreensaver, "_XResetScreenSaver");
>   pragma INTERFACE (C, Xgetscreensaver, "_XGetScreenSaver");
>   pragma INTERFACE (C, Xaddhost, "_XAddHost");
>   pragma INTERFACE (C, Xaddhosts, "_XAddHosts");
>   pragma INTERFACE (C, Xlisthosts, "_XListHosts");
>   pragma INTERFACE (C, Xremovehost, "_XRemoveHost");
>   pragma INTERFACE (C, Xremovehosts, "_XRemoveHosts");
>   pragma INTERFACE (C, Xsetaccesscontrol, "_XSetAccessControl");
>   pragma INTERFACE (C, Xenableaccesscontrol, "_XEnableAccessControl");
>   pragma INTERFACE (C, Xdisableaccesscontrol, "_XDisableAccessControl");
> 
2604,2619c2329,2344
<   pragma INTERFACE (C, Xpolygonregion);
<   pragma INTERFACE (C, Xclipbox);
<   pragma INTERFACE (C, Xsetregion);
<   pragma INTERFACE (C, Xcreateregion);
<   pragma INTERFACE (C, Xdestroyregion);
<   pragma INTERFACE (C, Xoffsetregion);
<   pragma INTERFACE (C, Xshrinkregion);
<   pragma INTERFACE (C, Xintersectregion);
<   pragma INTERFACE (C, Xunionregion);
<   pragma INTERFACE (C, Xunionrectwithregion);
<   pragma INTERFACE (C, Xsubtractregion);
<   pragma INTERFACE (C, Xxorregion);
<   pragma INTERFACE (C, Xemptyregion);
<   pragma INTERFACE (C, Xequalregion);
<   pragma INTERFACE (C, Xpointinregion);
<   pragma INTERFACE (C, Xrectinregion);
---
>   pragma INTERFACE (C, Xpolygonregion, "_XPolygonRegion");
>   pragma INTERFACE (C, Xclipbox, "_XClipBox");
>   pragma INTERFACE (C, Xsetregion, "_XSetRegion");
>   pragma INTERFACE (C, Xcreateregion, "_XCreateRegion");
>   pragma INTERFACE (C, Xdestroyregion, "_XDestroyRegion");
>   pragma INTERFACE (C, Xoffsetregion, "_XOffsetRegion");
>   pragma INTERFACE (C, Xshrinkregion, "_XShrinkRegion");
>   pragma INTERFACE (C, Xintersectregion, "_XIntersectRegion");
>   pragma INTERFACE (C, Xunionregion, "_XUnionRegion");
>   pragma INTERFACE (C, Xunionrectwithregion, "_XUnionRectWithRegion");
>   pragma INTERFACE (C, Xsubtractregion, "_XSubtractRegion");
>   pragma INTERFACE (C, Xxorregion, "_XXorRegion");
>   pragma INTERFACE (C, Xemptyregion, "_XEmptyRegion");
>   pragma INTERFACE (C, Xequalregion, "_XEqualRegion");
>   pragma INTERFACE (C, Xpointinregion, "_XPointInRegion");
>   pragma INTERFACE (C, Xrectinregion, "_XRectInRegion");
2621,2637d2345
<   pragma INTERFACE_NAME (Xpolygonregion, "XPolygonRegion");
<   pragma INTERFACE_NAME (Xclipbox, "XClipBox");
<   pragma INTERFACE_NAME (Xsetregion, "XSetRegion");
<   pragma INTERFACE_NAME (Xcreateregion, "XCreateRegion");
<   pragma INTERFACE_NAME (Xdestroyregion, "XDestroyRegion");
<   pragma INTERFACE_NAME (Xoffsetregion, "XOffsetRegion");
<   pragma INTERFACE_NAME (Xshrinkregion, "XShrinkRegion");
<   pragma INTERFACE_NAME (Xintersectregion, "XIntersectRegion");
<   pragma INTERFACE_NAME (Xunionregion, "XUnionRegion");
<   pragma INTERFACE_NAME (Xunionrectwithregion, "XUnionRectWithRegion");
<   pragma INTERFACE_NAME (Xsubtractregion, "XSubtractRegion");
<   pragma INTERFACE_NAME (Xxorregion, "XXorRegion");
<   pragma INTERFACE_NAME (Xemptyregion, "XEmptyRegion");
<   pragma INTERFACE_NAME (Xequalregion, "XEqualRegion");
<   pragma INTERFACE_NAME (Xpointinregion, "XPointInRegion");
<   pragma INTERFACE_NAME (Xrectinregion, "XRectInRegion");
<   
2661,2662c2369,2370
<   pragma INTERFACE (C, "Or");
<   pragma INTERFACE (C, "And");
---
>   pragma INTERFACE (C, "Or", "_or");
>   pragma INTERFACE (C, "And", "_and");



3. Modification of the EVENT records in the body of the events package.

diff x_events.a ../x_events.a
87a88,94
>       Word_17     : X_Windows_Interface.Long;
>       Word_18     : X_Windows_Interface.Long;
>       Word_19     : X_Windows_Interface.Long;
>       Word_20     : X_Windows_Interface.Long;
>       Word_21     : X_Windows_Interface.Long;
>       Word_22     : X_Windows_Interface.Long;
>       Word_23     : X_Windows_Interface.Long;
127a135,141
>       Word_17     : X_Windows_Interface.Long;
>       Word_18     : X_Windows_Interface.Long;
>       Word_19     : X_Windows_Interface.Long;
>       Word_20     : X_Windows_Interface.Long;
>       Word_21     : X_Windows_Interface.Long;
>       Word_22     : X_Windows_Interface.Long;
>       Word_23     : X_Windows_Interface.Long;
167a182,188
>       Word_17     : X_Windows_Interface.Long;
>       Word_18     : X_Windows_Interface.Long;
>       Word_19     : X_Windows_Interface.Long;
>       Word_20     : X_Windows_Interface.Long;
>       Word_21     : X_Windows_Interface.Long;
>       Word_22     : X_Windows_Interface.Long;
>       Word_23     : X_Windows_Interface.Long;
207a229,235
>       Word_17     : X_Windows_Interface.Long;
>       Word_18     : X_Windows_Interface.Long;
>       Word_19     : X_Windows_Interface.Long;
>       Word_20     : X_Windows_Interface.Long;
>       Word_21     : X_Windows_Interface.Long;
>       Word_22     : X_Windows_Interface.Long;
>       Word_23     : X_Windows_Interface.Long;
249a278,284
>       Word_17     : X_Windows_Interface.Long;
>       Word_18     : X_Windows_Interface.Long;
>       Word_19     : X_Windows_Interface.Long;
>       Word_20     : X_Windows_Interface.Long;
>       Word_21     : X_Windows_Interface.Long;
>       Word_22     : X_Windows_Interface.Long;
>       Word_23     : X_Windows_Interface.Long;
274a310,316
>       Word_17     : X_Windows_Interface.Long;
>       Word_18     : X_Windows_Interface.Long;
>       Word_19     : X_Windows_Interface.Long;
>       Word_20     : X_Windows_Interface.Long;
>       Word_21     : X_Windows_Interface.Long;
>       Word_22     : X_Windows_Interface.Long;
>       Word_23     : X_Windows_Interface.Long;
305a348,354
>       Word_17     : X_Windows_Interface.Long;
>       Word_18     : X_Windows_Interface.Long;
>       Word_19     : X_Windows_Interface.Long;
>       Word_20     : X_Windows_Interface.Long;
>       Word_21     : X_Windows_Interface.Long;
>       Word_22     : X_Windows_Interface.Long;
>       Word_23     : X_Windows_Interface.Long;
340a390,396
>       Word_17     : X_Windows_Interface.Long;
>       Word_18     : X_Windows_Interface.Long;
>       Word_19     : X_Windows_Interface.Long;
>       Word_20     : X_Windows_Interface.Long;
>       Word_21     : X_Windows_Interface.Long;
>       Word_22     : X_Windows_Interface.Long;
>       Word_23     : X_Windows_Interface.Long;
377a434,440
>       Word_17     : X_Windows_Interface.Long;
>       Word_18     : X_Windows_Interface.Long;
>       Word_19     : X_Windows_Interface.Long;
>       Word_20     : X_Windows_Interface.Long;
>       Word_21     : X_Windows_Interface.Long;
>       Word_22     : X_Windows_Interface.Long;
>       Word_23     : X_Windows_Interface.Long;
409a473,479
>       Word_17     : X_Windows_Interface.Long;
>       Word_18     : X_Windows_Interface.Long;
>       Word_19     : X_Windows_Interface.Long;
>       Word_20     : X_Windows_Interface.Long;
>       Word_21     : X_Windows_Interface.Long;
>       Word_22     : X_Windows_Interface.Long;
>       Word_23     : X_Windows_Interface.Long;
440a511,517
>       Word_17     : X_Windows_Interface.Long;
>       Word_18     : X_Windows_Interface.Long;
>       Word_19     : X_Windows_Interface.Long;
>       Word_20     : X_Windows_Interface.Long;
>       Word_21     : X_Windows_Interface.Long;
>       Word_22     : X_Windows_Interface.Long;
>       Word_23     : X_Windows_Interface.Long;
477a555,561
>       Word_17     : X_Windows_Interface.Long;
>       Word_18     : X_Windows_Interface.Long;
>       Word_19     : X_Windows_Interface.Long;
>       Word_20     : X_Windows_Interface.Long;
>       Word_21     : X_Windows_Interface.Long;
>       Word_22     : X_Windows_Interface.Long;
>       Word_23     : X_Windows_Interface.Long;
508a593,599
>       Word_17     : X_Windows_Interface.Long;
>       Word_18     : X_Windows_Interface.Long;
>       Word_19     : X_Windows_Interface.Long;
>       Word_20     : X_Windows_Interface.Long;
>       Word_21     : X_Windows_Interface.Long;
>       Word_22     : X_Windows_Interface.Long;
>       Word_23     : X_Windows_Interface.Long;
540a632,638
>       Word_17     : X_Windows_Interface.Long;
>       Word_18     : X_Windows_Interface.Long;
>       Word_19     : X_Windows_Interface.Long;
>       Word_20     : X_Windows_Interface.Long;
>       Word_21     : X_Windows_Interface.Long;
>       Word_22     : X_Windows_Interface.Long;
>       Word_23     : X_Windows_Interface.Long;
572a671,677
>       Word_17     : X_Windows_Interface.Long;
>       Word_18     : X_Windows_Interface.Long;
>       Word_19     : X_Windows_Interface.Long;
>       Word_20     : X_Windows_Interface.Long;
>       Word_21     : X_Windows_Interface.Long;
>       Word_22     : X_Windows_Interface.Long;
>       Word_23     : X_Windows_Interface.Long;
603a709,715
>       Word_17     : X_Windows_Interface.Long;
>       Word_18     : X_Windows_Interface.Long;
>       Word_19     : X_Windows_Interface.Long;
>       Word_20     : X_Windows_Interface.Long;
>       Word_21     : X_Windows_Interface.Long;
>       Word_22     : X_Windows_Interface.Long;
>       Word_23     : X_Windows_Interface.Long;
638a751,757
>       Word_17     : X_Windows_Interface.Long;
>       Word_18     : X_Windows_Interface.Long;
>       Word_19     : X_Windows_Interface.Long;
>       Word_20     : X_Windows_Interface.Long;
>       Word_21     : X_Windows_Interface.Long;
>       Word_22     : X_Windows_Interface.Long;
>       Word_23     : X_Windows_Interface.Long;
676a796,802
>       Word_17     : X_Windows_Interface.Long;
>       Word_18     : X_Windows_Interface.Long;
>       Word_19     : X_Windows_Interface.Long;
>       Word_20     : X_Windows_Interface.Long;
>       Word_21     : X_Windows_Interface.Long;
>       Word_22     : X_Windows_Interface.Long;
>       Word_23     : X_Windows_Interface.Long;
709a836,842
>       Word_17     : X_Windows_Interface.Long;
>       Word_18     : X_Windows_Interface.Long;
>       Word_19     : X_Windows_Interface.Long;
>       Word_20     : X_Windows_Interface.Long;
>       Word_21     : X_Windows_Interface.Long;
>       Word_22     : X_Windows_Interface.Long;
>       Word_23     : X_Windows_Interface.Long;
741a875,881
>       Word_17     : X_Windows_Interface.Long;
>       Word_18     : X_Windows_Interface.Long;
>       Word_19     : X_Windows_Interface.Long;
>       Word_20     : X_Windows_Interface.Long;
>       Word_21     : X_Windows_Interface.Long;
>       Word_22     : X_Windows_Interface.Long;
>       Word_23     : X_Windows_Interface.Long;
780a921,927
>       Word_17     : X_Windows_Interface.Long;
>       Word_18     : X_Windows_Interface.Long;
>       Word_19     : X_Windows_Interface.Long;
>       Word_20     : X_Windows_Interface.Long;
>       Word_21     : X_Windows_Interface.Long;
>       Word_22     : X_Windows_Interface.Long;
>       Word_23     : X_Windows_Interface.Long;
812a960,966
>       Word_17     : X_Windows_Interface.Long;
>       Word_18     : X_Windows_Interface.Long;
>       Word_19     : X_Windows_Interface.Long;
>       Word_20     : X_Windows_Interface.Long;
>       Word_21     : X_Windows_Interface.Long;
>       Word_22     : X_Windows_Interface.Long;
>       Word_23     : X_Windows_Interface.Long;
844a999,1005
>       Word_17     : X_Windows_Interface.Long;
>       Word_18     : X_Windows_Interface.Long;
>       Word_19     : X_Windows_Interface.Long;
>       Word_20     : X_Windows_Interface.Long;
>       Word_21     : X_Windows_Interface.Long;
>       Word_22     : X_Windows_Interface.Long;
>       Word_23     : X_Windows_Interface.Long;
877a1039,1045
>       Word_17     : X_Windows_Interface.Long;
>       Word_18     : X_Windows_Interface.Long;
>       Word_19     : X_Windows_Interface.Long;
>       Word_20     : X_Windows_Interface.Long;
>       Word_21     : X_Windows_Interface.Long;
>       Word_22     : X_Windows_Interface.Long;
>       Word_23     : X_Windows_Interface.Long;
909a1078,1084
>       Word_17     : X_Windows_Interface.Long;
>       Word_18     : X_Windows_Interface.Long;
>       Word_19     : X_Windows_Interface.Long;
>       Word_20     : X_Windows_Interface.Long;
>       Word_21     : X_Windows_Interface.Long;
>       Word_22     : X_Windows_Interface.Long;
>       Word_23     : X_Windows_Interface.Long;
944a1120,1126
>       Word_17     : X_Windows_Interface.Long;
>       Word_18     : X_Windows_Interface.Long;
>       Word_19     : X_Windows_Interface.Long;
>       Word_20     : X_Windows_Interface.Long;
>       Word_21     : X_Windows_Interface.Long;
>       Word_22     : X_Windows_Interface.Long;
>       Word_23     : X_Windows_Interface.Long;
978a1161,1167
>       Word_17     : X_Windows_Interface.Long;
>       Word_18     : X_Windows_Interface.Long;
>       Word_19     : X_Windows_Interface.Long;
>       Word_20     : X_Windows_Interface.Long;
>       Word_21     : X_Windows_Interface.Long;
>       Word_22     : X_Windows_Interface.Long;
>       Word_23     : X_Windows_Interface.Long;
1007a1197,1203
>       Word_17     : X_Windows_Interface.Long;
>       Word_18     : X_Windows_Interface.Long;
>       Word_19     : X_Windows_Interface.Long;
>       Word_20     : X_Windows_Interface.Long;
>       Word_21     : X_Windows_Interface.Long;
>       Word_22     : X_Windows_Interface.Long;
>       Word_23     : X_Windows_Interface.Long;
1040a1237,1243
>       Word_17     : X_Windows_Interface.Long;
>       Word_18     : X_Windows_Interface.Long;
>       Word_19     : X_Windows_Interface.Long;
>       Word_20     : X_Windows_Interface.Long;
>       Word_21     : X_Windows_Interface.Long;
>       Word_22     : X_Windows_Interface.Long;
>       Word_23     : X_Windows_Interface.Long;
1075a1279,1285
>       Word_17     : X_Windows_Interface.Long;
>       Word_18     : X_Windows_Interface.Long;
>       Word_19     : X_Windows_Interface.Long;
>       Word_20     : X_Windows_Interface.Long;
>       Word_21     : X_Windows_Interface.Long;
>       Word_22     : X_Windows_Interface.Long;
>       Word_23     : X_Windows_Interface.Long;
1107a1318,1324
>       Word_17     : X_Windows_Interface.Long;
>       Word_18     : X_Windows_Interface.Long;
>       Word_19     : X_Windows_Interface.Long;
>       Word_20     : X_Windows_Interface.Long;
>       Word_21     : X_Windows_Interface.Long;
>       Word_22     : X_Windows_Interface.Long;
>       Word_23     : X_Windows_Interface.Long;
2149c2366,2367
<                  State => Mask_To_Long (The_Event.Crossing.State)));
---
>                  State => Mask_To_Long (The_Event.Crossing.State),
>                  others => 0));


------------------ Distribution and Copyright -----------------
--
-- Derivation   : MIT X Window System, V11.R1
--
-- This Ada language binding to the X Window System inherits
-- the MIT copyright. The following copyright must be included
-- in all software utilizing this binding.
--
-- Copyright 1985, 1986, 1987 by the Massachusetts Institute of Technology
-- 
-- Permission to use, copy, modify, and distribute this
-- software and its documentation for any purpose and without
-- fee is hereby granted, provided that the above copyright
-- notice appear in all copies and that both that copyright
-- notice and this permission notice appear in supporting
-- documentation, and that the name of M.I.T. not be used in
-- advertising or publicity pertaining to distribution of the
-- software without specific, written prior permission.
-- M.I.T. makes no representations about the suitability of
-- this software for any purpose.  It is provided "as is"
-- without express or implied warranty.
--
------------------ Disclaimer ---------------------------------
--
-- This software and its documentation are provided "AS IS" and
-- without any expressed or implied warranties whatsoever.
-- No warranties as to performance, merchantability, or fitness
-- for a particular purpose exist.
--
-- In no event shall any person or organization of people be
-- held responsible for any direct, indirect, consequential
-- or inconsequential damages or lost profits.
--
-------------------END-PROLOGUE--------------------------------

hyland@esosun.UUCP (Steve Hyland) (06/18/88)

In article <5085@altura.srcsip.UUCP> tap@srcsip.UUCP (Thomas A Peterson) writes:

>The SAIC Ada binding to the X Window System, Version 11 needed the following
>modifications to get it working on the VERDIX Ada Development System (VADS).
>The programs Hello_World and Sketch_Pad worked properly after these
>modifications.

Thanks, Tom, for doing the port to Verdix. I have some comments
regarding the port.

>  1. Creation of a System_Environment Package to match the Alsys'
>     System_Environment package.

I find it interesting that both people who have ported this to Verdix
have made the modifications here to System_Environment. I intended the
changes to be made in the body of Get_Command_Line_Arguments. Not that
there's anything wrong with this.

>  2. Modification of the PRAGMA INTERFACE calls.

This is correct.

>  3. Modification of the EVENT records in the body of the events
>     package (x_events.a).
>
>     PROBLEM : After the XNextEvent C library function was executed both of
>               the addresses passed into the function were returned as '0'
>               even though the correct addresses were passed into the function.
>
>     SOLUTION : After examining the include file /usr/include/X11/Xlib.h it 
>                was determined that the XEvent had a size of 96 bytes but
>                all of the events in the events package had a size of 68 bytes.
>                So 7 more words were appended onto each event declared in the
>                events package.  Thereafter, the XNextEvent C library function
>                worked properly.

This is the part I find most interesting. After investigating this, we
concur. Seven bytes should be added to each of the event records. Why this
has not failed on the Alsys compiler is a mystery to me. We'll send these
changes out as a patch.






Steve Hyland
SAIC