shmstr.h
上传用户:lctgjx
上传日期:2022-06-04
资源大小:8887k
文件大小:6k
源码类别:

流媒体/Mpeg4/MP4

开发平台:

Visual C++

  1. /* $XFree86: xc/include/extensions/shmstr.h,v 3.3 2001/12/14 19:53:29 dawes Exp $ */
  2. /************************************************************
  3. Copyright 1989, 1998  The Open Group
  4. Permission to use, copy, modify, distribute, and sell this software and its
  5. documentation for any purpose is hereby granted without fee, provided that
  6. the above copyright notice appear in all copies and that both that
  7. copyright notice and this permission notice appear in supporting
  8. documentation.
  9. The above copyright notice and this permission notice shall be included in
  10. all copies or substantial portions of the Software.
  11. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  12. IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  13. FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
  14. OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
  15. AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
  16. CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  17. Except as contained in this notice, the name of The Open Group shall not be
  18. used in advertising or otherwise to promote the sale, use or other dealings
  19. in this Software without prior written authorization from The Open Group.
  20. ********************************************************/
  21. /* THIS IS NOT AN X CONSORTIUM STANDARD OR AN X PROJECT TEAM SPECIFICATION */
  22. #ifndef _SHMSTR_H_
  23. #define _SHMSTR_H_
  24. /* $Xorg: shmstr.h,v 1.4 2001/02/09 02:03:24 xorgcvs Exp $ */
  25. #include "XShm.h"
  26. #define ShmSeg CARD32
  27. #define Drawable CARD32
  28. #define VisualID CARD32
  29. #define GContext CARD32
  30. #define Pixmap CARD32
  31. #define SHMNAME "MIT-SHM"
  32. #define SHM_MAJOR_VERSION 1 /* current version numbers */
  33. #define SHM_MINOR_VERSION 1
  34. #ifdef _XSHM_SERVER_
  35. #define XSHM_PUT_IMAGE_ARGS 
  36.     DrawablePtr /* dst */, 
  37.     GCPtr /* pGC */, 
  38.     int /* depth */, 
  39.     unsigned int /* format */, 
  40.     int /* w */, 
  41.     int /* h */, 
  42.     int /* sx */, 
  43.     int /* sy */, 
  44.     int /* sw */, 
  45.     int /* sh */, 
  46.     int /* dx */, 
  47.     int /* dy */, 
  48.     char * /* data */
  49. #define XSHM_CREATE_PIXMAP_ARGS 
  50.     ScreenPtr /* pScreen */, 
  51.     int /* width */, 
  52.     int /* height */, 
  53.     int /* depth */, 
  54.     char * /* addr */
  55. typedef struct _ShmFuncs {
  56.     PixmapPtr (* CreatePixmap)(XSHM_CREATE_PIXMAP_ARGS);
  57.     void (* PutImage)(XSHM_PUT_IMAGE_ARGS);
  58. } ShmFuncs, *ShmFuncsPtr;
  59. #endif
  60. typedef struct _ShmQueryVersion {
  61.     CARD8 reqType; /* always ShmReqCode */
  62.     CARD8 shmReqType; /* always X_ShmQueryVersion */
  63.     CARD16 length B16;
  64. } xShmQueryVersionReq;
  65. #define sz_xShmQueryVersionReq 4
  66. typedef struct {
  67.     BYTE type; /* X_Reply */
  68.     BOOL sharedPixmaps;
  69.     CARD16 sequenceNumber B16;
  70.     CARD32 length B32;
  71.     CARD16 majorVersion B16; /* major version of SHM protocol */
  72.     CARD16 minorVersion B16; /* minor version of SHM protocol */
  73.     CARD16 uid B16;
  74.     CARD16 gid B16;
  75.     CARD8 pixmapFormat;
  76.     CARD8 pad0;
  77.     CARD16 pad1 B16;
  78.     CARD32 pad2 B32;
  79.     CARD32 pad3 B32;
  80.     CARD32 pad4 B32;
  81. } xShmQueryVersionReply;
  82. #define sz_xShmQueryVersionReply 32
  83. typedef struct _ShmAttach {
  84.     CARD8 reqType; /* always ShmReqCode */
  85.     CARD8 shmReqType; /* always X_ShmAttach */
  86.     CARD16 length B16;
  87.     ShmSeg shmseg B32;
  88.     CARD32 shmid B32;
  89.     BOOL readOnly;
  90.     BYTE pad0;
  91.     CARD16 pad1 B16;
  92. } xShmAttachReq;
  93. #define sz_xShmAttachReq 16
  94. typedef struct _ShmDetach {
  95.     CARD8 reqType; /* always ShmReqCode */
  96.     CARD8 shmReqType; /* always X_ShmDetach */
  97.     CARD16 length B16;
  98.     ShmSeg shmseg B32;
  99. } xShmDetachReq;
  100. #define sz_xShmDetachReq 8
  101. typedef struct _ShmPutImage {
  102.     CARD8 reqType; /* always ShmReqCode */
  103.     CARD8 shmReqType; /* always X_ShmPutImage */
  104.     CARD16 length B16;
  105.     Drawable drawable B32;
  106.     GContext gc B32;
  107.     CARD16 totalWidth B16;
  108.     CARD16 totalHeight B16;
  109.     CARD16 srcX B16;
  110.     CARD16 srcY B16;
  111.     CARD16 srcWidth B16;
  112.     CARD16 srcHeight B16;
  113.     INT16 dstX B16;
  114.     INT16 dstY B16;
  115.     CARD8 depth;
  116.     CARD8 format;
  117.     CARD8 sendEvent;
  118.     CARD8 bpad;
  119.     ShmSeg shmseg B32;
  120.     CARD32 offset B32;
  121. } xShmPutImageReq;    
  122. #define sz_xShmPutImageReq 40
  123. typedef struct _ShmGetImage {
  124.     CARD8 reqType; /* always ShmReqCode */
  125.     CARD8 shmReqType; /* always X_ShmGetImage */
  126.     CARD16 length B16;
  127.     Drawable drawable B32;
  128.     INT16 x B16;
  129.     INT16 y B16;
  130.     CARD16 width B16;
  131.     CARD16 height B16;
  132.     CARD32 planeMask B32;
  133.     CARD8 format;
  134.     CARD8 pad0;
  135.     CARD8 pad1;
  136.     CARD8 pad2;
  137.     ShmSeg shmseg B32;
  138.     CARD32 offset B32;
  139. } xShmGetImageReq;    
  140. #define sz_xShmGetImageReq 32
  141. typedef struct _ShmGetImageReply {
  142.     BYTE type;  /* X_Reply */
  143.     CARD8 depth;
  144.     CARD16 sequenceNumber B16;
  145.     CARD32 length B32;
  146.     VisualID visual B32;
  147.     CARD32 size B32;
  148.     CARD32 pad0 B32;
  149.     CARD32 pad1 B32;
  150.     CARD32 pad2 B32;
  151.     CARD32 pad3 B32;
  152. } xShmGetImageReply;
  153. #define sz_xShmGetImageReply 32
  154. typedef struct _ShmCreatePixmap {
  155.     CARD8 reqType; /* always ShmReqCode */
  156.     CARD8 shmReqType; /* always X_ShmCreatePixmap */
  157.     CARD16 length B16;
  158.     Pixmap pid B32;
  159.     Drawable drawable B32;
  160.     CARD16 width B16;
  161.     CARD16 height B16;
  162.     CARD8 depth;
  163.     CARD8 pad0;
  164.     CARD8 pad1;
  165.     CARD8 pad2;
  166.     ShmSeg shmseg B32;
  167.     CARD32 offset B32;
  168. } xShmCreatePixmapReq;
  169. #define sz_xShmCreatePixmapReq 28
  170. typedef struct _ShmCompletion {
  171.     BYTE type; /* always eventBase + ShmCompletion */
  172.     BYTE bpad0;
  173.     CARD16 sequenceNumber B16;
  174.     Drawable drawable B32;
  175.     CARD16 minorEvent B16;
  176.     BYTE majorEvent;
  177.     BYTE bpad1;
  178.     ShmSeg shmseg B32;
  179.     CARD32 offset B32;
  180.     CARD32 pad0 B32;
  181.     CARD32 pad1 B32;
  182.     CARD32 pad2 B32;
  183. } xShmCompletionEvent;
  184. #define sz_xShmCompletionEvent 32
  185. #undef ShmSeg
  186. #undef Drawable
  187. #undef VisualID
  188. #undef GContext
  189. #undef Pixmap
  190. #endif /* _SHMSTR_H_ */