| /* $XFree86: xc/include/extensions/XShm.h,v 1.11 2003/04/03 15:11:07 dawes Exp $ */ |
| /************************************************************ |
| |
| Copyright 1989, 1998 The Open Group |
| |
| Permission to use, copy, modify, distribute, and sell this software and its |
| documentation for any purpose is hereby granted without fee, provided that |
| the above copyright notice appear in all copies and that both that |
| copyright notice and this permission notice appear in supporting |
| documentation. |
| |
| The above copyright notice and this permission notice 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 |
| OPEN GROUP 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. |
| |
| Except as contained in this notice, the name of The Open Group shall not be |
| used in advertising or otherwise to promote the sale, use or other dealings |
| in this Software without prior written authorization from The Open Group. |
| |
| ********************************************************/ |
| |
| /* THIS IS NOT AN X CONSORTIUM STANDARD OR AN X PROJECT TEAM SPECIFICATION */ |
| |
| /* $Xorg: XShm.h,v 1.4 2001/02/09 02:03:24 xorgcvs Exp $ */ |
| |
| #ifndef _XSHM_H_ |
| #define _XSHM_H_ |
| |
| #include <X11/Xfuncproto.h> |
| |
| #define X_ShmQueryVersion 0 |
| #define X_ShmAttach 1 |
| #define X_ShmDetach 2 |
| #define X_ShmPutImage 3 |
| #define X_ShmGetImage 4 |
| #define X_ShmCreatePixmap 5 |
| |
| #define ShmCompletion 0 |
| #define ShmNumberEvents (ShmCompletion + 1) |
| |
| #define BadShmSeg 0 |
| #define ShmNumberErrors (BadShmSeg + 1) |
| |
| typedef unsigned long ShmSeg; |
| |
| #ifndef _XSHM_SERVER_ |
| typedef struct { |
| int type; /* of event */ |
| unsigned long serial; /* # of last request processed by server */ |
| Bool send_event; /* true if this came frome a SendEvent request */ |
| Display *display; /* Display the event was read from */ |
| Drawable drawable; /* drawable of request */ |
| int major_code; /* ShmReqCode */ |
| int minor_code; /* X_ShmPutImage */ |
| ShmSeg shmseg; /* the ShmSeg used in the request */ |
| unsigned long offset; /* the offset into ShmSeg used in the request */ |
| } XShmCompletionEvent; |
| |
| typedef struct { |
| ShmSeg shmseg; /* resource id */ |
| int shmid; /* kernel id */ |
| char *shmaddr; /* address in client */ |
| Bool readOnly; /* how the server should attach it */ |
| } XShmSegmentInfo; |
| |
| _XFUNCPROTOBEGIN |
| |
| Bool XShmQueryExtension( |
| Display* /* dpy */ |
| ); |
| |
| int XShmGetEventBase( |
| Display* /* dpy */ |
| ); |
| |
| Bool XShmQueryVersion( |
| Display* /* dpy */, |
| int* /* majorVersion */, |
| int* /* minorVersion */, |
| Bool* /* sharedPixmaps */ |
| ); |
| |
| int XShmPixmapFormat( |
| Display* /* dpy */ |
| ); |
| |
| Status XShmAttach( |
| Display* /* dpy */, |
| XShmSegmentInfo* /* shminfo */ |
| ); |
| |
| Status XShmDetach( |
| Display* /* dpy */, |
| XShmSegmentInfo* /* shminfo */ |
| ); |
| |
| Status XShmPutImage( |
| Display* /* dpy */, |
| Drawable /* d */, |
| GC /* gc */, |
| XImage* /* image */, |
| int /* src_x */, |
| int /* src_y */, |
| int /* dst_x */, |
| int /* dst_y */, |
| unsigned int /* src_width */, |
| unsigned int /* src_height */, |
| Bool /* send_event */ |
| ); |
| |
| Status XShmGetImage( |
| Display* /* dpy */, |
| Drawable /* d */, |
| XImage* /* image */, |
| int /* x */, |
| int /* y */, |
| unsigned long /* plane_mask */ |
| ); |
| |
| XImage *XShmCreateImage( |
| Display* /* dpy */, |
| Visual* /* visual */, |
| unsigned int /* depth */, |
| int /* format */, |
| char* /* data */, |
| XShmSegmentInfo* /* shminfo */, |
| unsigned int /* width */, |
| unsigned int /* height */ |
| ); |
| |
| Pixmap XShmCreatePixmap( |
| Display* /* dpy */, |
| Drawable /* d */, |
| char* /* data */, |
| XShmSegmentInfo* /* shminfo */, |
| unsigned int /* width */, |
| unsigned int /* height */, |
| unsigned int /* depth */ |
| ); |
| |
| _XFUNCPROTOEND |
| |
| #else /* _XSHM_SERVER_ */ |
| |
| #include "screenint.h" |
| #include "pixmap.h" |
| #include "gc.h" |
| |
| extern void ShmRegisterFbFuncs( |
| ScreenPtr /* pScreen */ |
| ); |
| |
| #endif |
| |
| #endif |