
/*
 * This file is a product of Sun Microsystems, Inc. and is provided for
 * unrestricted use provided that this legend is included on all tape
 * media and as a part of the software program in whole or part.  Users
 * may copy or modify this file without charge, but are not authorized to
 * license or distribute it to anyone else except as part of a product
 * or program developed by the user.
 * 
 * THIS FILE IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
 * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
 * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
 * 
 * This file is provided with no support and without any obligation on the
 * part of Sun Microsystems, Inc. to assist in its use, correction,
 * modification or enhancement.
 * 
 * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
 * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY THIS FILE
 * OR ANY PART THEREOF.
 * 
 * In no event will Sun Microsystems, Inc. be liable for any lost revenue
 * or profits or other special, indirect and consequential damages, even
 * if Sun has been advised of the possibility of such damages.
 * 
 * Sun Microsystems, Inc.
 * 2550 Garcia Avenue
 * Mountain View, California  94043
 */
#include<stdio.h>
#include<X11/X.h>
#include<X11/Xlib.h>
#include<X11/Xutil.h>

main(argc,argv)
char	**argv;
{
Display	*dpy;
char	**XListExtensions(), **tmp;
int	nextensions, i;
int	mj,error,event;

	if((dpy=XOpenDisplay(NULL))== NULL)
	{
		fprintf(stderr,"can't open display\n");
		exit(0);
	}

	tmp = XListExtensions(dpy, &nextensions);
	fprintf(stderr,"num extension = %d\n",nextensions);
	for(i= 0; i< nextensions; i++)
	{
		fprintf(stderr,"%d > %s .\n",i,tmp[i]);
		if (XQueryExtension(dpy,tmp[i],&mj,&event,&error))
			fprintf(stderr,"mj=%d,event=%d,error=%d\n",
					mj,event,error);
	}
	XFreeExtensionList(tmp);
}
