summaryrefslogtreecommitdiff
path: root/decode11.c
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2002-01-01 07:51:45 +0000
committerAlan Coopersmith <alan.coopersmith@sun.com>2009-05-04 18:14:08 -0700
commitaf92a00b953746d64e1394d1988e77ffc3142df8 (patch)
treee0a5eca7764d21cd0e22c7d3f490fb50d9d019e7 /decode11.c
parent093842a5e11bb5c0fd17b51a6c037634b5a3a223 (diff)
downloadxscope-af92a00b953746d64e1394d1988e77ffc3142df8.tar.gz
Add (some) support for BIG-REQUESTS
Diffstat (limited to 'decode11.c')
-rw-r--r--decode11.c18
1 files changed, 17 insertions, 1 deletions
diff --git a/decode11.c b/decode11.c
index d19a74a..4a163c1 100644
--- a/decode11.c
+++ b/decode11.c
@@ -330,6 +330,9 @@ extern unsigned char MITSHMRequest;
extern unsigned char MITSHMError;
extern unsigned char MITSHMEvent;
+extern unsigned char LookForBIGREQFlag;
+extern unsigned char BIGREQRequest;
+
DecodeRequest(fd, buf, n)
FD fd;
unsigned char *buf;
@@ -354,6 +357,12 @@ DecodeRequest(fd, buf, n)
}
SetIndentLevel(PRINTCLIENT);
+ if (IShort(&buf[2]) == 0 && CS[fd].bigreqEnabled)
+ {
+ memmove (buf + 4, buf, 4);
+ CS[fd].requestLen--;
+ buf += 4;
+ }
if (Verbose < 0)
{
SimpleDump (DUMP_REQUEST, fd, Request, RequestMinor, n);
@@ -379,9 +388,11 @@ DecodeRequest(fd, buf, n)
randr_decode_req(fd,buf);
} else if (Request == MITSHMRequest) {
mitshm_decode_req(fd,buf);
+ } else if (Request == BIGREQRequest) {
+ bigreq_decode_req(fd,buf);
} else
{
- ExtendedRequest(buf);
+ ExtendedRequest(fd, buf);
ReplyExpected(fd, Request);
}
} else switch (Request)
@@ -730,6 +741,9 @@ DecodeRequest(fd, buf, n)
if (strncmp("MIT-SHM",(char *)&buf[8],7) == 0)
LookForMITSHMFlag=1;
+ if (strncmp ("BIG-REQUESTS",(char *)&buf[8],12) == 0)
+ LookForBIGREQFlag=1;
+
ReplyExpected(fd, Request);
break;
case 99:
@@ -855,6 +869,8 @@ DecodeReply(fd, buf, n)
randr_decode_reply(fd, buf, RequestMinor);
else if (Request == MITSHMRequest)
mitshm_decode_reply(fd, buf, RequestMinor);
+ else if (Request == BIGREQRequest)
+ bigreq_decode_reply(fd, buf, RequestMinor);
else if (Request < 0 || 127 < Request)
warn("Extended reply opcode");
else switch (Request)