/* Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved.
 *
 * Permission is hereby granted, free of charge, to any person obtaining a
 * copy of this software and associated documentation files (the "Software"),
 * to deal in the Software without restriction, including without limitation
 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
 * and/or sell copies of the Software, and to permit persons to whom the
 * Software is furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice (including the next
 * paragraph) shall be included in all copies or substantial portions of the
 * Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
 * DEALINGS IN THE SOFTWARE.
 */ 

/*
 * Generated by dtrace(1M), and then modified for backwards compatibility
 * with older versions of dtrace.   Used if dtrace -h fails.
 * (Since _ENABLED support was added after dtrace -h, this  assumes if 
 *  dtrace -h fails, _ENABLED will too.)
 */

#ifndef	_XSERVER_DTRACE_H
#define	_XSERVER_DTRACE_H

#include <unistd.h>

#ifdef	__cplusplus
extern "C" {
#endif

#if _DTRACE_VERSION

#define	XSERVER_CLIENT_AUTH(arg0, arg1, arg2, arg3) \
	__dtrace_Xserver___client__auth(arg0, arg1, arg2, arg3)
#define	XSERVER_CLIENT_CONNECT(arg0, arg1) \
	__dtrace_Xserver___client__connect(arg0, arg1)
#define	XSERVER_CLIENT_DISCONNECT(arg0) \
	__dtrace_Xserver___client__disconnect(arg0)
#define	XSERVER_REQUEST_DONE(arg0, arg1, arg2, arg3, arg4) \
	__dtrace_Xserver___request__done(arg0, arg1, arg2, arg3, arg4)
#define	XSERVER_REQUEST_START(arg0, arg1, arg2, arg3, arg4) \
	__dtrace_Xserver___request__start(arg0, arg1, arg2, arg3, arg4)
#define	XSERVER_RESOURCE_ALLOC(arg0, arg1, arg2, arg3) \
	__dtrace_Xserver___resource__alloc(arg0, arg1, arg2, arg3)
#define	XSERVER_RESOURCE_FREE(arg0, arg1, arg2, arg3) \
	__dtrace_Xserver___resource__free(arg0, arg1, arg2, arg3)
#define	XSERVER_SEND_EVENT(arg0, arg1, arg2) \
	__dtrace_Xserver___send__event(arg0, arg1, arg2)


extern void __dtrace_Xserver___client__auth(int, string, pid_t, zoneid_t);
extern void __dtrace_Xserver___client__connect(int, int);
extern void __dtrace_Xserver___client__disconnect(int);
extern void __dtrace_Xserver___request__done(string, uint8_t, uint32_t, int, int);
extern void __dtrace_Xserver___request__start(string, uint8_t, uint16_t, int, void *);
extern void __dtrace_Xserver___resource__alloc(uint32_t, uint32_t, void *, string);
extern void __dtrace_Xserver___resource__free(uint32_t, uint32_t, void *, string);
extern void __dtrace_Xserver___send__event(int, uint8_t, void *);

#else

#define	XSERVER_CLIENT_AUTH(arg0, arg1, arg2, arg3)
#define	XSERVER_CLIENT_CONNECT(arg0, arg1)
#define	XSERVER_CLIENT_DISCONNECT(arg0)
#define	XSERVER_REQUEST_DONE(arg0, arg1, arg2, arg3, arg4)
#define	XSERVER_REQUEST_START(arg0, arg1, arg2, arg3, arg4)
#define	XSERVER_RESOURCE_ALLOC(arg0, arg1, arg2, arg3)
#define	XSERVER_RESOURCE_FREE(arg0, arg1, arg2, arg3)
#define	XSERVER_SEND_EVENT(arg0, arg1, arg2)

#endif

#define	XSERVER_CLIENT_AUTH_ENABLED() (1)
#define	XSERVER_CLIENT_CONNECT_ENABLED() (1)
#define	XSERVER_CLIENT_DISCONNECT_ENABLED() (1)
#define	XSERVER_REQUEST_DONE_ENABLED() (1)
#define	XSERVER_REQUEST_START_ENABLED() (1)
#define	XSERVER_RESOURCE_ALLOC_ENABLED() (1)
#define	XSERVER_RESOURCE_FREE_ENABLED() (1)
#define	XSERVER_SEND_EVENT_ENABLED() (1)

#ifdef	__cplusplus
}
#endif

#endif	/* _XSERVER_DTRACE_H */
