requests_generated.go RawHistoryFolder
1// Code generated by xtgen; DO NOT EDIT.
2package res
3
4import "encoding/binary"
5import "bnema.dev/xturbo"
6
7func QueryVersion(b *xturbo.Buf, clientMajor uint8, clientMinor uint8) xturbo.Seq {
8 if b.Ext == nil {
9 b.Fail(xturbo.ErrExtMissing)
10 return 0
11 }
12 major := b.Ext.Major(xturbo.ExtRes)
13 if major == 0 {
14 b.Fail(xturbo.ErrExtMissing)
15 return 0
16 }
17 p, seq := b.Request(major, 0, 4)
18 if p == nil {
19 return 0
20 }
21 p[0:][0] = byte(clientMajor)
22 p[1:][0] = byte(clientMinor)
23 return seq
24}
25
26func QueryClients(b *xturbo.Buf) xturbo.Seq {
27 if b.Ext == nil {
28 b.Fail(xturbo.ErrExtMissing)
29 return 0
30 }
31 major := b.Ext.Major(xturbo.ExtRes)
32 if major == 0 {
33 b.Fail(xturbo.ErrExtMissing)
34 return 0
35 }
36 p, seq := b.Request(major, 1, 0)
37 if p == nil {
38 return 0
39 }
40 return seq
41}
42
43func QueryClientResources(b *xturbo.Buf, xid uint32) xturbo.Seq {
44 if b.Ext == nil {
45 b.Fail(xturbo.ErrExtMissing)
46 return 0
47 }
48 major := b.Ext.Major(xturbo.ExtRes)
49 if major == 0 {
50 b.Fail(xturbo.ErrExtMissing)
51 return 0
52 }
53 p, seq := b.Request(major, 2, 4)
54 if p == nil {
55 return 0
56 }
57 binary.LittleEndian.PutUint32(p[0:], uint32(xid))
58 return seq
59}
60
61func QueryClientPixmapBytes(b *xturbo.Buf, xid uint32) xturbo.Seq {
62 if b.Ext == nil {
63 b.Fail(xturbo.ErrExtMissing)
64 return 0
65 }
66 major := b.Ext.Major(xturbo.ExtRes)
67 if major == 0 {
68 b.Fail(xturbo.ErrExtMissing)
69 return 0
70 }
71 p, seq := b.Request(major, 3, 4)
72 if p == nil {
73 return 0
74 }
75 binary.LittleEndian.PutUint32(p[0:], uint32(xid))
76 return seq
77}
78
79func QueryClientIds(b *xturbo.Buf, specs []ClientIdSpec) xturbo.Seq {
80 if uint64(len(specs)) > 4294967295 {
81 b.Fail(xturbo.ErrBadLength)
82 return 0
83 }
84 size := 0
85 size += 4
86 size += len(specs) * 8
87 size = (size + 3) &^ 3
88 if b.Ext == nil {
89 b.Fail(xturbo.ErrExtMissing)
90 return 0
91 }
92 major := b.Ext.Major(xturbo.ExtRes)
93 if major == 0 {
94 b.Fail(xturbo.ErrExtMissing)
95 return 0
96 }
97 p, seq := b.Request(major, 4, size)
98 if p == nil {
99 return 0
100 }
101 off := 0
102 binary.LittleEndian.PutUint32(p[off:], uint32(len(specs)))
103 off += 4
104 for i := range specs {
105 specs[i].Put(p[off:])
106 off += 8
107 }
108 return seq
109}
110
111func QueryResourceBytes(b *xturbo.Buf, client uint32, specs []ResourceIdSpec) xturbo.Seq {
112 if uint64(len(specs)) > 4294967295 {
113 b.Fail(xturbo.ErrBadLength)
114 return 0
115 }
116 size := 0
117 size += 4
118 size += 4
119 size += len(specs) * 8
120 size = (size + 3) &^ 3
121 if b.Ext == nil {
122 b.Fail(xturbo.ErrExtMissing)
123 return 0
124 }
125 major := b.Ext.Major(xturbo.ExtRes)
126 if major == 0 {
127 b.Fail(xturbo.ErrExtMissing)
128 return 0
129 }
130 p, seq := b.Request(major, 5, size)
131 if p == nil {
132 return 0
133 }
134 off := 0
135 binary.LittleEndian.PutUint32(p[off:], uint32(client))
136 off += 4
137 binary.LittleEndian.PutUint32(p[off:], uint32(len(specs)))
138 off += 4
139 for i := range specs {
140 specs[i].Put(p[off:])
141 off += 8
142 }
143 return seq
144}