// Code generated by xtgen; DO NOT EDIT. package res import "encoding/binary" import "bnema.dev/xturbo" func QueryVersion(b *xturbo.Buf, clientMajor uint8, clientMinor uint8) xturbo.Seq { if b.Ext == nil { b.Fail(xturbo.ErrExtMissing) return 0 } major := b.Ext.Major(xturbo.ExtRes) if major == 0 { b.Fail(xturbo.ErrExtMissing) return 0 } p, seq := b.Request(major, 0, 4) if p == nil { return 0 } p[0:][0] = byte(clientMajor) p[1:][0] = byte(clientMinor) return seq } func QueryClients(b *xturbo.Buf) xturbo.Seq { if b.Ext == nil { b.Fail(xturbo.ErrExtMissing) return 0 } major := b.Ext.Major(xturbo.ExtRes) if major == 0 { b.Fail(xturbo.ErrExtMissing) return 0 } p, seq := b.Request(major, 1, 0) if p == nil { return 0 } return seq } func QueryClientResources(b *xturbo.Buf, xid uint32) xturbo.Seq { if b.Ext == nil { b.Fail(xturbo.ErrExtMissing) return 0 } major := b.Ext.Major(xturbo.ExtRes) if major == 0 { b.Fail(xturbo.ErrExtMissing) return 0 } p, seq := b.Request(major, 2, 4) if p == nil { return 0 } binary.LittleEndian.PutUint32(p[0:], uint32(xid)) return seq } func QueryClientPixmapBytes(b *xturbo.Buf, xid uint32) xturbo.Seq { if b.Ext == nil { b.Fail(xturbo.ErrExtMissing) return 0 } major := b.Ext.Major(xturbo.ExtRes) if major == 0 { b.Fail(xturbo.ErrExtMissing) return 0 } p, seq := b.Request(major, 3, 4) if p == nil { return 0 } binary.LittleEndian.PutUint32(p[0:], uint32(xid)) return seq } func QueryClientIds(b *xturbo.Buf, specs []ClientIdSpec) xturbo.Seq { if uint64(len(specs)) > 4294967295 { b.Fail(xturbo.ErrBadLength) return 0 } size := 0 size += 4 size += len(specs) * 8 size = (size + 3) &^ 3 if b.Ext == nil { b.Fail(xturbo.ErrExtMissing) return 0 } major := b.Ext.Major(xturbo.ExtRes) if major == 0 { b.Fail(xturbo.ErrExtMissing) return 0 } p, seq := b.Request(major, 4, size) if p == nil { return 0 } off := 0 binary.LittleEndian.PutUint32(p[off:], uint32(len(specs))) off += 4 for i := range specs { specs[i].Put(p[off:]) off += 8 } return seq } func QueryResourceBytes(b *xturbo.Buf, client uint32, specs []ResourceIdSpec) xturbo.Seq { if uint64(len(specs)) > 4294967295 { b.Fail(xturbo.ErrBadLength) return 0 } size := 0 size += 4 size += 4 size += len(specs) * 8 size = (size + 3) &^ 3 if b.Ext == nil { b.Fail(xturbo.ErrExtMissing) return 0 } major := b.Ext.Major(xturbo.ExtRes) if major == 0 { b.Fail(xturbo.ErrExtMissing) return 0 } p, seq := b.Request(major, 5, size) if p == nil { return 0 } off := 0 binary.LittleEndian.PutUint32(p[off:], uint32(client)) off += 4 binary.LittleEndian.PutUint32(p[off:], uint32(len(specs))) off += 4 for i := range specs { specs[i].Put(p[off:]) off += 8 } return seq }