XvMClibint.h revision 98af18c5
1/* $XFree86: xc/lib/XvMC/XvMClibint.h,v 1.4 2001/07/25 15:04:54 dawes Exp $ */
2
3#ifndef _XVMCLIBINT_H
4#define _XVMCLIBINT_H
5#define NEED_REPLIES
6
7#include <X11/Xlibint.h>
8#include <X11/extensions/Xvproto.h>
9#include <X11/extensions/XvMCproto.h>
10#include <X11/extensions/XvMClib.h>
11
12#define XvMCCheckExtension(dpy, i, val) \
13  XextCheckExtension(dpy, i, xvmc_extension_name, val)
14
15
16#if !defined(UNIXCPP)
17#define XvMCGetReq(name, req) \
18        WORD64ALIGN\
19	if ((dpy->bufptr + sizeof(xvmc##name##Req)) > dpy->bufmax)\
20		_XFlush(dpy);\
21	req = (xvmc##name##Req *)(dpy->last_req = dpy->bufptr);\
22	req->reqType = info->codes->major_opcode;\
23        req->xvmcReqType = xvmc_##name; \
24        req->length = sizeof(xvmc##name##Req)>>2;\
25	dpy->bufptr += sizeof(xvmc##name##Req);\
26	dpy->request++
27#else
28#define XvMCGetReq(name, req) \
29        WORD64ALIGN\
30	if ((dpy->bufptr + sizeof(xvmc/**/name/**/Req)) > dpy->bufmax)\
31		_XFlush(dpy);\
32	req = (xvmc/**/name/**/Req *)(dpy->last_req = dpy->bufptr);\
33	req->reqType = info->codes->major_opcode;\
34	req->xvmcReqType = xvmc_/**/name;\
35	req->length = sizeof(xvmc/**/name/**/Req)>>2;\
36	dpy->bufptr += sizeof(xvmc/**/name/**/Req);\
37	dpy->request++
38#endif
39
40_XFUNCPROTOBEGIN
41
42Status _xvmc_create_context(
43    Display *		/* dpy */,
44    XvMCContext *	/* context */,
45    int *		/* priv_count */,
46    CARD32 **		/* priv_data */
47);
48
49Status _xvmc_destroy_context(
50    Display *		/* dpy */,
51    XvMCContext *	/* context */
52);
53
54Status _xvmc_create_surface (
55    Display *		/* dpy */,
56    XvMCContext *	/* context */,
57    XvMCSurface *	/* surface */,
58    int *		/* priv_count */,
59    CARD32 **		/* priv_data */
60);
61
62Status _xvmc_destroy_surface (
63    Display *		/* dpy */,
64    XvMCSurface *	/* surface */
65);
66
67Status _xvmc_create_subpicture (
68    Display *		/* dpy */,
69    XvMCContext *	/* context */,
70    XvMCSubpicture *	/* subpicture */,
71    int *		/* priv_count */,
72    CARD32 **		/* priv_data */
73);
74
75Status _xvmc_destroy_subpicture(
76    Display *		/* dpy */,
77    XvMCSubpicture *	/* subpicture */
78);
79
80_XFUNCPROTOEND
81
82#endif /* XVMCLIBINT_H */
83