[comp.lang.ada] 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--------------------------------

nyberg@AJPO.SEI.CMU.EDU (Karl Nyberg) (06/19/88)

Thanks to Thomas Peterson of Honeywell, the modifications for the X windows
Ada binding are now available.  Since the file is almost 64K (quite large
for most mailers), it has been put in:

	~ftp/public/infoada/x11r2/VADS.MOD

It may be gotten through anonymous FTP here on the AJPO.SEI.CMU.EDU machine.

-- Karl --

marie@wdl1.UUCP (Marie T. Minogue) (06/24/88)

If this is the modification for the VADS compiler, why does my VADS
SUN 3 version 5.5 compiler reject these changes?
for the lines like :
   pragma INTERFACE (C, Xcopycolormapandfree, "_XCopyColormapAndFree");

I get the error :

 482:  pragma INTERFACE (C, Xcopycolormapandfree, "_XCopyColormapAndFree");
A --------------------------^
A:warning: RM 13.9(4): parameter types must be scalar, access or SYSTEM.ADDRESS
A:warning: RM 13.9(4): parameter types must be scalar, access or SYSTEM.ADDRESS
A:warning: RM 13.9(4): result type must be scalar, access or SYSTEM.ADDRESS

This is true for all of the pragmas.

The object being pointed to is a private type which is
declared as an acess type in the private part of the package.

DID I not receive something or am I using the wrong compiler?

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

In response to :

>>Path: srcsip!ems!amdahl!ames!sgi!wdl1!marie
>>From: marie@wdl1.UUCP (Marie T. Minogue)
>>References: <8806191006.AA01992@ajpo.sei.cmu.edu>

>>If this is the modification for the VADS compiler, why does my VADS
>>SUN 3 version 5.5 compiler reject these changes?
>>for the lines like :
>>   pragma INTERFACE (C, Xcopycolormapandfree, "_XCopyColormapAndFree");

>>I get the error :

>> 482:  pragma INTERFACE (C, Xcopycolormapandfree, "_XCopyColormapAndFree");
>>A --------------------------^
>>A:warning: RM 13.9(4): parameter types must be scalar, access or SYSTEM.ADDRESS
>>A:warning: RM 13.9(4): parameter types must be scalar, access or SYSTEM.ADDRESS
>>A:warning: RM 13.9(4): result type must be scalar, access or SYSTEM.ADDRESS

>>This is true for all of the pragmas.

>>The object being pointed to is a private type which is
>>declared as an acess type in the private part of the package.

>>DID I not receive something or am I using the wrong compiler?


The reason you get these warnings is because the objects being pointed
to are private types, as you figured out.  VADS must make the
assumption that they are of 32 bit integers after stating the warning.
Anyway, the binding does work even though there are warnings.  The
only ways I see to get rid of the warnings is to not have the private
types or to move the X_Windows_Interface package within the scope of
the private types.

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

In article <3660008@wdl1.UUCP> marie@wdl1.UUCP (Marie T. Minogue) writes:
>If this is the modification for the VADS compiler, why does my VADS
>SUN 3 version 5.5 compiler reject these changes?
>for the lines like :
>   pragma INTERFACE (C, Xcopycolormapandfree, "_XCopyColormapAndFree");
>
>I get the error :
>
> 482:  pragma INTERFACE (C, Xcopycolormapandfree, "_XCopyColormapAndFree");
>A --------------------------^
>A:warning: RM 13.9(4): parameter types must be scalar, access or SYSTEM.ADDRESS
The keyword here is "warning". The code is compiled, however.

The LRM reference here basically says that the compiler implementor is
free to place whatever restrictions they want on pragma INTERFACE.

By the way, the types it is complaining about ARE scalar or access types.
They are "in" parameters. They also are private types. I have no idea
why VADS gives you the message. Ask them.


> or am I using the wrong compiler?

I won't touch that statement with a ten foot pole. ;-)

Steve Hyland
SAIC

bertrand@cui.UUCP (IBRAHIM Bertrand) (07/04/88)

Just use the -w compilation flag to suppress these warning diagnostics.

B. Ibrahim