1acb9e7e9Schristos#ifndef __NV_POINTER__
2acb9e7e9Schristos#define __NV_POINTER__
3acb9e7e9Schristos/*
4acb9e7e9Schristos * All this mess is needed because the X headers use "pointer" for two
5acb9e7e9Schristos * different purposes. Clearly this needs to be fixed there, but it is
6acb9e7e9Schristos * much more intrusive. So we include the headers in the right order to
7acb9e7e9Schristos * make the necessary magic happen.
8acb9e7e9Schristos */
9acb9e7e9Schristos
10acb9e7e9Schristos/* This defines _XTYPEDEF_POINTER to prevent <Xdefs.h> from doing the typedef */
11acb9e7e9Schristos#include "dix-config.h"
12acb9e7e9Schristos
13acb9e7e9Schristos/* This uses "pointer" as a union tag, so include it first */
14acb9e7e9Schristos#include <X11/Xproto.h>
15acb9e7e9Schristos
16acb9e7e9Schristos/* Undefine _XTYPEDEF_POINTER, because we need it as a type now */
17acb9e7e9Schristos#undef _XTYPEDEF_POINTER
18acb9e7e9Schristos
19acb9e7e9Schristos/* This defines "pointer" as a type, so include it second */
20acb9e7e9Schristos#include <X11/Xdefs.h>
21acb9e7e9Schristos
22acb9e7e9Schristos/* not defined in Xdefs.h for xorg-server 1.20. */
23acb9e7e9Schristos#ifndef _XTYPEDEF_POINTER
24acb9e7e9Schristostypedef void * pointer;
25acb9e7e9Schristos#define _XTYPEDEF_POINTER
26acb9e7e9Schristos#endif
27acb9e7e9Schristos
28acb9e7e9Schristos#endif
29