mirror of
https://gitlab.freedesktop.org/xorg/proto/xorgproto.git
synced 2026-05-06 03:28:04 +02:00
Adds MIT-SHM AttachFd and CreateSegment requests
Passes shared memory segments by file descriptor, AttachFd passes from client to server, CreateSegment passes from server to client. Signed-off-by: Keith Packard <keithp@keithp.com>
This commit is contained in:
parent
18515392d3
commit
be14835635
2 changed files with 43 additions and 1 deletions
2
shm.h
2
shm.h
|
|
@ -32,7 +32,7 @@ in this Software without prior written authorization from The Open Group.
|
|||
#define SHMNAME "MIT-SHM"
|
||||
|
||||
#define SHM_MAJOR_VERSION 1 /* current version numbers */
|
||||
#define SHM_MINOR_VERSION 1
|
||||
#define SHM_MINOR_VERSION 2
|
||||
|
||||
#define ShmCompletion 0
|
||||
#define ShmNumberEvents (ShmCompletion + 1)
|
||||
|
|
|
|||
42
shmproto.h
42
shmproto.h
|
|
@ -43,6 +43,8 @@ in this Software without prior written authorization from The Open Group.
|
|||
#define X_ShmPutImage 3
|
||||
#define X_ShmGetImage 4
|
||||
#define X_ShmCreatePixmap 5
|
||||
#define X_ShmAttachFd 6
|
||||
#define X_ShmCreateSegment 7
|
||||
|
||||
typedef struct _ShmQueryVersion {
|
||||
CARD8 reqType; /* always ShmReqCode */
|
||||
|
|
@ -178,6 +180,46 @@ typedef struct _ShmCompletion {
|
|||
} xShmCompletionEvent;
|
||||
#define sz_xShmCompletionEvent 32
|
||||
|
||||
/* Version 1.2 additions */
|
||||
typedef struct _ShmAttachFd {
|
||||
CARD8 reqType; /* always ShmReqCode */
|
||||
CARD8 shmReqType; /* always X_ShmAttachFd */
|
||||
CARD16 length B16;
|
||||
ShmSeg shmseg B32;
|
||||
BOOL readOnly;
|
||||
BYTE pad0;
|
||||
CARD16 pad1 B16;
|
||||
} xShmAttachFdReq;
|
||||
/* File descriptor is passed with this request */
|
||||
#define sz_xShmAttachFdReq 12
|
||||
|
||||
typedef struct _ShmCreateSegment {
|
||||
CARD8 reqType; /* always ShmReqCode */
|
||||
CARD8 shmReqType; /* always X_ShmAttachFd */
|
||||
CARD16 length B16;
|
||||
ShmSeg shmseg B32;
|
||||
CARD32 size B32;
|
||||
BOOL readOnly;
|
||||
BYTE pad0;
|
||||
CARD16 pad1 B16;
|
||||
} xShmCreateSegmentReq;
|
||||
#define sz_xShmCreateSegmentReq 16
|
||||
|
||||
typedef struct {
|
||||
CARD8 type; /* must be X_Reply */
|
||||
CARD8 nfd; /* must be 1 */
|
||||
CARD16 sequenceNumber B16; /* last sequence number */
|
||||
CARD32 length B32; /* 0 */
|
||||
CARD32 pad2 B32; /* unused */
|
||||
CARD32 pad3 B32; /* unused */
|
||||
CARD32 pad4 B32; /* unused */
|
||||
CARD32 pad5 B32; /* unused */
|
||||
CARD32 pad6 B32; /* unused */
|
||||
CARD32 pad7 B32; /* unused */
|
||||
} xShmCreateSegmentReply;
|
||||
/* File descriptor is passed with this reply */
|
||||
#define sz_xShmCreateSegmentReply 32
|
||||
|
||||
#undef ShmSeg
|
||||
#undef Drawable
|
||||
#undef VisualID
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue