haven/nexgb/auto_xf86dri.go

1154 lines
26 KiB
Go

package xgb
/*
This file was generated by xf86dri.xml on May 7 2012 11:34:26pm EDT.
This file is automatically generated. Edit at your peril!
*/
// Xf86driInit must be called before using the XFree86-DRI extension.
func (c *Conn) Xf86driInit() error {
reply, err := c.QueryExtension(11, "XFree86-DRI").Reply()
switch {
case err != nil:
return err
case !reply.Present:
return errorf("No extension named XFree86-DRI could be found on on the server.")
}
c.extLock.Lock()
c.extensions["XFree86-DRI"] = reply.MajorOpcode
for evNum, fun := range newExtEventFuncs["XFree86-DRI"] {
newEventFuncs[int(reply.FirstEvent)+evNum] = fun
}
for errNum, fun := range newExtErrorFuncs["XFree86-DRI"] {
newErrorFuncs[int(reply.FirstError)+errNum] = fun
}
c.extLock.Unlock()
return nil
}
func init() {
newExtEventFuncs["XFree86-DRI"] = make(map[int]newEventFun)
newExtErrorFuncs["XFree86-DRI"] = make(map[int]newErrorFun)
}
// Skipping definition for base type 'Card32'
// Skipping definition for base type 'Double'
// Skipping definition for base type 'Bool'
// Skipping definition for base type 'Float'
// Skipping definition for base type 'Id'
// Skipping definition for base type 'Card8'
// Skipping definition for base type 'Int16'
// Skipping definition for base type 'Int32'
// Skipping definition for base type 'Void'
// Skipping definition for base type 'Byte'
// Skipping definition for base type 'Int8'
// Skipping definition for base type 'Card16'
// Skipping definition for base type 'Char'
// 'Xf86driDrmClipRect' struct definition
// Size: 8
type Xf86driDrmClipRect struct {
X1 int16
Y1 int16
X2 int16
X3 int16
}
// Struct read Xf86driDrmClipRect
func ReadXf86driDrmClipRect(buf []byte, v *Xf86driDrmClipRect) int {
b := 0
v.X1 = int16(Get16(buf[b:]))
b += 2
v.Y1 = int16(Get16(buf[b:]))
b += 2
v.X2 = int16(Get16(buf[b:]))
b += 2
v.X3 = int16(Get16(buf[b:]))
b += 2
return b
}
// Struct list read Xf86driDrmClipRect
func ReadXf86driDrmClipRectList(buf []byte, dest []Xf86driDrmClipRect) int {
b := 0
for i := 0; i < len(dest); i++ {
dest[i] = Xf86driDrmClipRect{}
b += ReadXf86driDrmClipRect(buf[b:], &dest[i])
}
return pad(b)
}
// Struct write Xf86driDrmClipRect
func (v Xf86driDrmClipRect) Bytes() []byte {
buf := make([]byte, 8)
b := 0
Put16(buf[b:], uint16(v.X1))
b += 2
Put16(buf[b:], uint16(v.Y1))
b += 2
Put16(buf[b:], uint16(v.X2))
b += 2
Put16(buf[b:], uint16(v.X3))
b += 2
return buf
}
// Write struct list Xf86driDrmClipRect
func Xf86driDrmClipRectListBytes(buf []byte, list []Xf86driDrmClipRect) int {
b := 0
var structBytes []byte
for _, item := range list {
structBytes = item.Bytes()
copy(buf[b:], structBytes)
b += pad(len(structBytes))
}
return b
}
// Request Xf86driQueryVersion
// size: 4
type Xf86driQueryVersionCookie struct {
*cookie
}
func (c *Conn) Xf86driQueryVersion() Xf86driQueryVersionCookie {
cookie := c.newCookie(true, true)
c.newRequest(c.xf86driQueryVersionRequest(), cookie)
return Xf86driQueryVersionCookie{cookie}
}
func (c *Conn) Xf86driQueryVersionUnchecked() Xf86driQueryVersionCookie {
cookie := c.newCookie(false, true)
c.newRequest(c.xf86driQueryVersionRequest(), cookie)
return Xf86driQueryVersionCookie{cookie}
}
// Request reply for Xf86driQueryVersion
// size: 16
type Xf86driQueryVersionReply struct {
Sequence uint16
Length uint32
// padding: 1 bytes
DriMajorVersion uint16
DriMinorVersion uint16
DriMinorPatch uint32
}
// Waits and reads reply data from request Xf86driQueryVersion
func (cook Xf86driQueryVersionCookie) Reply() (*Xf86driQueryVersionReply, error) {
buf, err := cook.reply()
if err != nil {
return nil, err
}
if buf == nil {
return nil, nil
}
return xf86driQueryVersionReply(buf), nil
}
// Read reply into structure from buffer for Xf86driQueryVersion
func xf86driQueryVersionReply(buf []byte) *Xf86driQueryVersionReply {
v := new(Xf86driQueryVersionReply)
b := 1 // skip reply determinant
b += 1 // padding
v.Sequence = Get16(buf[b:])
b += 2
v.Length = Get32(buf[b:]) // 4-byte units
b += 4
v.DriMajorVersion = Get16(buf[b:])
b += 2
v.DriMinorVersion = Get16(buf[b:])
b += 2
v.DriMinorPatch = Get32(buf[b:])
b += 4
return v
}
func (cook Xf86driQueryVersionCookie) Check() error {
return cook.check()
}
// Write request to wire for Xf86driQueryVersion
func (c *Conn) xf86driQueryVersionRequest() []byte {
size := 4
b := 0
buf := make([]byte, size)
buf[b] = c.extensions["XFREE86-DRI"]
b += 1
buf[b] = 0 // request opcode
b += 1
Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
return buf
}
// Request Xf86driQueryDirectRenderingCapable
// size: 8
type Xf86driQueryDirectRenderingCapableCookie struct {
*cookie
}
func (c *Conn) Xf86driQueryDirectRenderingCapable(Screen uint32) Xf86driQueryDirectRenderingCapableCookie {
cookie := c.newCookie(true, true)
c.newRequest(c.xf86driQueryDirectRenderingCapableRequest(Screen), cookie)
return Xf86driQueryDirectRenderingCapableCookie{cookie}
}
func (c *Conn) Xf86driQueryDirectRenderingCapableUnchecked(Screen uint32) Xf86driQueryDirectRenderingCapableCookie {
cookie := c.newCookie(false, true)
c.newRequest(c.xf86driQueryDirectRenderingCapableRequest(Screen), cookie)
return Xf86driQueryDirectRenderingCapableCookie{cookie}
}
// Request reply for Xf86driQueryDirectRenderingCapable
// size: 9
type Xf86driQueryDirectRenderingCapableReply struct {
Sequence uint16
Length uint32
// padding: 1 bytes
IsCapable bool
}
// Waits and reads reply data from request Xf86driQueryDirectRenderingCapable
func (cook Xf86driQueryDirectRenderingCapableCookie) Reply() (*Xf86driQueryDirectRenderingCapableReply, error) {
buf, err := cook.reply()
if err != nil {
return nil, err
}
if buf == nil {
return nil, nil
}
return xf86driQueryDirectRenderingCapableReply(buf), nil
}
// Read reply into structure from buffer for Xf86driQueryDirectRenderingCapable
func xf86driQueryDirectRenderingCapableReply(buf []byte) *Xf86driQueryDirectRenderingCapableReply {
v := new(Xf86driQueryDirectRenderingCapableReply)
b := 1 // skip reply determinant
b += 1 // padding
v.Sequence = Get16(buf[b:])
b += 2
v.Length = Get32(buf[b:]) // 4-byte units
b += 4
if buf[b] == 1 {
v.IsCapable = true
} else {
v.IsCapable = false
}
b += 1
return v
}
func (cook Xf86driQueryDirectRenderingCapableCookie) Check() error {
return cook.check()
}
// Write request to wire for Xf86driQueryDirectRenderingCapable
func (c *Conn) xf86driQueryDirectRenderingCapableRequest(Screen uint32) []byte {
size := 8
b := 0
buf := make([]byte, size)
buf[b] = c.extensions["XFREE86-DRI"]
b += 1
buf[b] = 1 // request opcode
b += 1
Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
Put32(buf[b:], Screen)
b += 4
return buf
}
// Request Xf86driOpenConnection
// size: 8
type Xf86driOpenConnectionCookie struct {
*cookie
}
func (c *Conn) Xf86driOpenConnection(Screen uint32) Xf86driOpenConnectionCookie {
cookie := c.newCookie(true, true)
c.newRequest(c.xf86driOpenConnectionRequest(Screen), cookie)
return Xf86driOpenConnectionCookie{cookie}
}
func (c *Conn) Xf86driOpenConnectionUnchecked(Screen uint32) Xf86driOpenConnectionCookie {
cookie := c.newCookie(false, true)
c.newRequest(c.xf86driOpenConnectionRequest(Screen), cookie)
return Xf86driOpenConnectionCookie{cookie}
}
// Request reply for Xf86driOpenConnection
// size: (32 + pad((int(BusIdLen) * 1)))
type Xf86driOpenConnectionReply struct {
Sequence uint16
Length uint32
// padding: 1 bytes
SareaHandleLow uint32
SareaHandleHigh uint32
BusIdLen uint32
// padding: 12 bytes
BusId string // size: pad((int(BusIdLen) * 1))
}
// Waits and reads reply data from request Xf86driOpenConnection
func (cook Xf86driOpenConnectionCookie) Reply() (*Xf86driOpenConnectionReply, error) {
buf, err := cook.reply()
if err != nil {
return nil, err
}
if buf == nil {
return nil, nil
}
return xf86driOpenConnectionReply(buf), nil
}
// Read reply into structure from buffer for Xf86driOpenConnection
func xf86driOpenConnectionReply(buf []byte) *Xf86driOpenConnectionReply {
v := new(Xf86driOpenConnectionReply)
b := 1 // skip reply determinant
b += 1 // padding
v.Sequence = Get16(buf[b:])
b += 2
v.Length = Get32(buf[b:]) // 4-byte units
b += 4
v.SareaHandleLow = Get32(buf[b:])
b += 4
v.SareaHandleHigh = Get32(buf[b:])
b += 4
v.BusIdLen = Get32(buf[b:])
b += 4
b += 12 // padding
{
byteString := make([]byte, v.BusIdLen)
copy(byteString[:v.BusIdLen], buf[b:])
v.BusId = string(byteString)
b += pad(int(v.BusIdLen))
}
return v
}
func (cook Xf86driOpenConnectionCookie) Check() error {
return cook.check()
}
// Write request to wire for Xf86driOpenConnection
func (c *Conn) xf86driOpenConnectionRequest(Screen uint32) []byte {
size := 8
b := 0
buf := make([]byte, size)
buf[b] = c.extensions["XFREE86-DRI"]
b += 1
buf[b] = 2 // request opcode
b += 1
Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
Put32(buf[b:], Screen)
b += 4
return buf
}
// Request Xf86driCloseConnection
// size: 8
type Xf86driCloseConnectionCookie struct {
*cookie
}
// Write request to wire for Xf86driCloseConnection
func (c *Conn) Xf86driCloseConnection(Screen uint32) Xf86driCloseConnectionCookie {
cookie := c.newCookie(false, false)
c.newRequest(c.xf86driCloseConnectionRequest(Screen), cookie)
return Xf86driCloseConnectionCookie{cookie}
}
func (c *Conn) Xf86driCloseConnectionChecked(Screen uint32) Xf86driCloseConnectionCookie {
cookie := c.newCookie(true, false)
c.newRequest(c.xf86driCloseConnectionRequest(Screen), cookie)
return Xf86driCloseConnectionCookie{cookie}
}
func (cook Xf86driCloseConnectionCookie) Check() error {
return cook.check()
}
// Write request to wire for Xf86driCloseConnection
func (c *Conn) xf86driCloseConnectionRequest(Screen uint32) []byte {
size := 8
b := 0
buf := make([]byte, size)
buf[b] = c.extensions["XFREE86-DRI"]
b += 1
buf[b] = 3 // request opcode
b += 1
Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
Put32(buf[b:], Screen)
b += 4
return buf
}
// Request Xf86driGetClientDriverName
// size: 8
type Xf86driGetClientDriverNameCookie struct {
*cookie
}
func (c *Conn) Xf86driGetClientDriverName(Screen uint32) Xf86driGetClientDriverNameCookie {
cookie := c.newCookie(true, true)
c.newRequest(c.xf86driGetClientDriverNameRequest(Screen), cookie)
return Xf86driGetClientDriverNameCookie{cookie}
}
func (c *Conn) Xf86driGetClientDriverNameUnchecked(Screen uint32) Xf86driGetClientDriverNameCookie {
cookie := c.newCookie(false, true)
c.newRequest(c.xf86driGetClientDriverNameRequest(Screen), cookie)
return Xf86driGetClientDriverNameCookie{cookie}
}
// Request reply for Xf86driGetClientDriverName
// size: (32 + pad((int(ClientDriverNameLen) * 1)))
type Xf86driGetClientDriverNameReply struct {
Sequence uint16
Length uint32
// padding: 1 bytes
ClientDriverMajorVersion uint32
ClientDriverMinorVersion uint32
ClientDriverPatchVersion uint32
ClientDriverNameLen uint32
// padding: 8 bytes
ClientDriverName string // size: pad((int(ClientDriverNameLen) * 1))
}
// Waits and reads reply data from request Xf86driGetClientDriverName
func (cook Xf86driGetClientDriverNameCookie) Reply() (*Xf86driGetClientDriverNameReply, error) {
buf, err := cook.reply()
if err != nil {
return nil, err
}
if buf == nil {
return nil, nil
}
return xf86driGetClientDriverNameReply(buf), nil
}
// Read reply into structure from buffer for Xf86driGetClientDriverName
func xf86driGetClientDriverNameReply(buf []byte) *Xf86driGetClientDriverNameReply {
v := new(Xf86driGetClientDriverNameReply)
b := 1 // skip reply determinant
b += 1 // padding
v.Sequence = Get16(buf[b:])
b += 2
v.Length = Get32(buf[b:]) // 4-byte units
b += 4
v.ClientDriverMajorVersion = Get32(buf[b:])
b += 4
v.ClientDriverMinorVersion = Get32(buf[b:])
b += 4
v.ClientDriverPatchVersion = Get32(buf[b:])
b += 4
v.ClientDriverNameLen = Get32(buf[b:])
b += 4
b += 8 // padding
{
byteString := make([]byte, v.ClientDriverNameLen)
copy(byteString[:v.ClientDriverNameLen], buf[b:])
v.ClientDriverName = string(byteString)
b += pad(int(v.ClientDriverNameLen))
}
return v
}
func (cook Xf86driGetClientDriverNameCookie) Check() error {
return cook.check()
}
// Write request to wire for Xf86driGetClientDriverName
func (c *Conn) xf86driGetClientDriverNameRequest(Screen uint32) []byte {
size := 8
b := 0
buf := make([]byte, size)
buf[b] = c.extensions["XFREE86-DRI"]
b += 1
buf[b] = 4 // request opcode
b += 1
Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
Put32(buf[b:], Screen)
b += 4
return buf
}
// Request Xf86driCreateContext
// size: 16
type Xf86driCreateContextCookie struct {
*cookie
}
func (c *Conn) Xf86driCreateContext(Screen uint32, Visual uint32, Context uint32) Xf86driCreateContextCookie {
cookie := c.newCookie(true, true)
c.newRequest(c.xf86driCreateContextRequest(Screen, Visual, Context), cookie)
return Xf86driCreateContextCookie{cookie}
}
func (c *Conn) Xf86driCreateContextUnchecked(Screen uint32, Visual uint32, Context uint32) Xf86driCreateContextCookie {
cookie := c.newCookie(false, true)
c.newRequest(c.xf86driCreateContextRequest(Screen, Visual, Context), cookie)
return Xf86driCreateContextCookie{cookie}
}
// Request reply for Xf86driCreateContext
// size: 12
type Xf86driCreateContextReply struct {
Sequence uint16
Length uint32
// padding: 1 bytes
HwContext uint32
}
// Waits and reads reply data from request Xf86driCreateContext
func (cook Xf86driCreateContextCookie) Reply() (*Xf86driCreateContextReply, error) {
buf, err := cook.reply()
if err != nil {
return nil, err
}
if buf == nil {
return nil, nil
}
return xf86driCreateContextReply(buf), nil
}
// Read reply into structure from buffer for Xf86driCreateContext
func xf86driCreateContextReply(buf []byte) *Xf86driCreateContextReply {
v := new(Xf86driCreateContextReply)
b := 1 // skip reply determinant
b += 1 // padding
v.Sequence = Get16(buf[b:])
b += 2
v.Length = Get32(buf[b:]) // 4-byte units
b += 4
v.HwContext = Get32(buf[b:])
b += 4
return v
}
func (cook Xf86driCreateContextCookie) Check() error {
return cook.check()
}
// Write request to wire for Xf86driCreateContext
func (c *Conn) xf86driCreateContextRequest(Screen uint32, Visual uint32, Context uint32) []byte {
size := 16
b := 0
buf := make([]byte, size)
buf[b] = c.extensions["XFREE86-DRI"]
b += 1
buf[b] = 5 // request opcode
b += 1
Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
Put32(buf[b:], Screen)
b += 4
Put32(buf[b:], Visual)
b += 4
Put32(buf[b:], Context)
b += 4
return buf
}
// Request Xf86driDestroyContext
// size: 12
type Xf86driDestroyContextCookie struct {
*cookie
}
// Write request to wire for Xf86driDestroyContext
func (c *Conn) Xf86driDestroyContext(Screen uint32, Context uint32) Xf86driDestroyContextCookie {
cookie := c.newCookie(false, false)
c.newRequest(c.xf86driDestroyContextRequest(Screen, Context), cookie)
return Xf86driDestroyContextCookie{cookie}
}
func (c *Conn) Xf86driDestroyContextChecked(Screen uint32, Context uint32) Xf86driDestroyContextCookie {
cookie := c.newCookie(true, false)
c.newRequest(c.xf86driDestroyContextRequest(Screen, Context), cookie)
return Xf86driDestroyContextCookie{cookie}
}
func (cook Xf86driDestroyContextCookie) Check() error {
return cook.check()
}
// Write request to wire for Xf86driDestroyContext
func (c *Conn) xf86driDestroyContextRequest(Screen uint32, Context uint32) []byte {
size := 12
b := 0
buf := make([]byte, size)
buf[b] = c.extensions["XFREE86-DRI"]
b += 1
buf[b] = 6 // request opcode
b += 1
Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
Put32(buf[b:], Screen)
b += 4
Put32(buf[b:], Context)
b += 4
return buf
}
// Request Xf86driCreateDrawable
// size: 12
type Xf86driCreateDrawableCookie struct {
*cookie
}
func (c *Conn) Xf86driCreateDrawable(Screen uint32, Drawable uint32) Xf86driCreateDrawableCookie {
cookie := c.newCookie(true, true)
c.newRequest(c.xf86driCreateDrawableRequest(Screen, Drawable), cookie)
return Xf86driCreateDrawableCookie{cookie}
}
func (c *Conn) Xf86driCreateDrawableUnchecked(Screen uint32, Drawable uint32) Xf86driCreateDrawableCookie {
cookie := c.newCookie(false, true)
c.newRequest(c.xf86driCreateDrawableRequest(Screen, Drawable), cookie)
return Xf86driCreateDrawableCookie{cookie}
}
// Request reply for Xf86driCreateDrawable
// size: 12
type Xf86driCreateDrawableReply struct {
Sequence uint16
Length uint32
// padding: 1 bytes
HwDrawableHandle uint32
}
// Waits and reads reply data from request Xf86driCreateDrawable
func (cook Xf86driCreateDrawableCookie) Reply() (*Xf86driCreateDrawableReply, error) {
buf, err := cook.reply()
if err != nil {
return nil, err
}
if buf == nil {
return nil, nil
}
return xf86driCreateDrawableReply(buf), nil
}
// Read reply into structure from buffer for Xf86driCreateDrawable
func xf86driCreateDrawableReply(buf []byte) *Xf86driCreateDrawableReply {
v := new(Xf86driCreateDrawableReply)
b := 1 // skip reply determinant
b += 1 // padding
v.Sequence = Get16(buf[b:])
b += 2
v.Length = Get32(buf[b:]) // 4-byte units
b += 4
v.HwDrawableHandle = Get32(buf[b:])
b += 4
return v
}
func (cook Xf86driCreateDrawableCookie) Check() error {
return cook.check()
}
// Write request to wire for Xf86driCreateDrawable
func (c *Conn) xf86driCreateDrawableRequest(Screen uint32, Drawable uint32) []byte {
size := 12
b := 0
buf := make([]byte, size)
buf[b] = c.extensions["XFREE86-DRI"]
b += 1
buf[b] = 7 // request opcode
b += 1
Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
Put32(buf[b:], Screen)
b += 4
Put32(buf[b:], Drawable)
b += 4
return buf
}
// Request Xf86driDestroyDrawable
// size: 12
type Xf86driDestroyDrawableCookie struct {
*cookie
}
// Write request to wire for Xf86driDestroyDrawable
func (c *Conn) Xf86driDestroyDrawable(Screen uint32, Drawable uint32) Xf86driDestroyDrawableCookie {
cookie := c.newCookie(false, false)
c.newRequest(c.xf86driDestroyDrawableRequest(Screen, Drawable), cookie)
return Xf86driDestroyDrawableCookie{cookie}
}
func (c *Conn) Xf86driDestroyDrawableChecked(Screen uint32, Drawable uint32) Xf86driDestroyDrawableCookie {
cookie := c.newCookie(true, false)
c.newRequest(c.xf86driDestroyDrawableRequest(Screen, Drawable), cookie)
return Xf86driDestroyDrawableCookie{cookie}
}
func (cook Xf86driDestroyDrawableCookie) Check() error {
return cook.check()
}
// Write request to wire for Xf86driDestroyDrawable
func (c *Conn) xf86driDestroyDrawableRequest(Screen uint32, Drawable uint32) []byte {
size := 12
b := 0
buf := make([]byte, size)
buf[b] = c.extensions["XFREE86-DRI"]
b += 1
buf[b] = 8 // request opcode
b += 1
Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
Put32(buf[b:], Screen)
b += 4
Put32(buf[b:], Drawable)
b += 4
return buf
}
// Request Xf86driGetDrawableInfo
// size: 12
type Xf86driGetDrawableInfoCookie struct {
*cookie
}
func (c *Conn) Xf86driGetDrawableInfo(Screen uint32, Drawable uint32) Xf86driGetDrawableInfoCookie {
cookie := c.newCookie(true, true)
c.newRequest(c.xf86driGetDrawableInfoRequest(Screen, Drawable), cookie)
return Xf86driGetDrawableInfoCookie{cookie}
}
func (c *Conn) Xf86driGetDrawableInfoUnchecked(Screen uint32, Drawable uint32) Xf86driGetDrawableInfoCookie {
cookie := c.newCookie(false, true)
c.newRequest(c.xf86driGetDrawableInfoRequest(Screen, Drawable), cookie)
return Xf86driGetDrawableInfoCookie{cookie}
}
// Request reply for Xf86driGetDrawableInfo
// size: ((36 + pad((int(NumClipRects) * 8))) + pad((int(NumBackClipRects) * 8)))
type Xf86driGetDrawableInfoReply struct {
Sequence uint16
Length uint32
// padding: 1 bytes
DrawableTableIndex uint32
DrawableTableStamp uint32
DrawableOriginX int16
DrawableOriginY int16
DrawableSizeW int16
DrawableSizeH int16
NumClipRects uint32
BackX int16
BackY int16
NumBackClipRects uint32
ClipRects []Xf86driDrmClipRect // size: pad((int(NumClipRects) * 8))
BackClipRects []Xf86driDrmClipRect // size: pad((int(NumBackClipRects) * 8))
}
// Waits and reads reply data from request Xf86driGetDrawableInfo
func (cook Xf86driGetDrawableInfoCookie) Reply() (*Xf86driGetDrawableInfoReply, error) {
buf, err := cook.reply()
if err != nil {
return nil, err
}
if buf == nil {
return nil, nil
}
return xf86driGetDrawableInfoReply(buf), nil
}
// Read reply into structure from buffer for Xf86driGetDrawableInfo
func xf86driGetDrawableInfoReply(buf []byte) *Xf86driGetDrawableInfoReply {
v := new(Xf86driGetDrawableInfoReply)
b := 1 // skip reply determinant
b += 1 // padding
v.Sequence = Get16(buf[b:])
b += 2
v.Length = Get32(buf[b:]) // 4-byte units
b += 4
v.DrawableTableIndex = Get32(buf[b:])
b += 4
v.DrawableTableStamp = Get32(buf[b:])
b += 4
v.DrawableOriginX = int16(Get16(buf[b:]))
b += 2
v.DrawableOriginY = int16(Get16(buf[b:]))
b += 2
v.DrawableSizeW = int16(Get16(buf[b:]))
b += 2
v.DrawableSizeH = int16(Get16(buf[b:]))
b += 2
v.NumClipRects = Get32(buf[b:])
b += 4
v.BackX = int16(Get16(buf[b:]))
b += 2
v.BackY = int16(Get16(buf[b:]))
b += 2
v.NumBackClipRects = Get32(buf[b:])
b += 4
v.ClipRects = make([]Xf86driDrmClipRect, v.NumClipRects)
b += ReadXf86driDrmClipRectList(buf[b:], v.ClipRects)
v.BackClipRects = make([]Xf86driDrmClipRect, v.NumBackClipRects)
b += ReadXf86driDrmClipRectList(buf[b:], v.BackClipRects)
return v
}
func (cook Xf86driGetDrawableInfoCookie) Check() error {
return cook.check()
}
// Write request to wire for Xf86driGetDrawableInfo
func (c *Conn) xf86driGetDrawableInfoRequest(Screen uint32, Drawable uint32) []byte {
size := 12
b := 0
buf := make([]byte, size)
buf[b] = c.extensions["XFREE86-DRI"]
b += 1
buf[b] = 9 // request opcode
b += 1
Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
Put32(buf[b:], Screen)
b += 4
Put32(buf[b:], Drawable)
b += 4
return buf
}
// Request Xf86driGetDeviceInfo
// size: 8
type Xf86driGetDeviceInfoCookie struct {
*cookie
}
func (c *Conn) Xf86driGetDeviceInfo(Screen uint32) Xf86driGetDeviceInfoCookie {
cookie := c.newCookie(true, true)
c.newRequest(c.xf86driGetDeviceInfoRequest(Screen), cookie)
return Xf86driGetDeviceInfoCookie{cookie}
}
func (c *Conn) Xf86driGetDeviceInfoUnchecked(Screen uint32) Xf86driGetDeviceInfoCookie {
cookie := c.newCookie(false, true)
c.newRequest(c.xf86driGetDeviceInfoRequest(Screen), cookie)
return Xf86driGetDeviceInfoCookie{cookie}
}
// Request reply for Xf86driGetDeviceInfo
// size: (32 + pad((int(DevicePrivateSize) * 4)))
type Xf86driGetDeviceInfoReply struct {
Sequence uint16
Length uint32
// padding: 1 bytes
FramebufferHandleLow uint32
FramebufferHandleHigh uint32
FramebufferOriginOffset uint32
FramebufferSize uint32
FramebufferStride uint32
DevicePrivateSize uint32
DevicePrivate []uint32 // size: pad((int(DevicePrivateSize) * 4))
}
// Waits and reads reply data from request Xf86driGetDeviceInfo
func (cook Xf86driGetDeviceInfoCookie) Reply() (*Xf86driGetDeviceInfoReply, error) {
buf, err := cook.reply()
if err != nil {
return nil, err
}
if buf == nil {
return nil, nil
}
return xf86driGetDeviceInfoReply(buf), nil
}
// Read reply into structure from buffer for Xf86driGetDeviceInfo
func xf86driGetDeviceInfoReply(buf []byte) *Xf86driGetDeviceInfoReply {
v := new(Xf86driGetDeviceInfoReply)
b := 1 // skip reply determinant
b += 1 // padding
v.Sequence = Get16(buf[b:])
b += 2
v.Length = Get32(buf[b:]) // 4-byte units
b += 4
v.FramebufferHandleLow = Get32(buf[b:])
b += 4
v.FramebufferHandleHigh = Get32(buf[b:])
b += 4
v.FramebufferOriginOffset = Get32(buf[b:])
b += 4
v.FramebufferSize = Get32(buf[b:])
b += 4
v.FramebufferStride = Get32(buf[b:])
b += 4
v.DevicePrivateSize = Get32(buf[b:])
b += 4
v.DevicePrivate = make([]uint32, v.DevicePrivateSize)
for i := 0; i < int(v.DevicePrivateSize); i++ {
v.DevicePrivate[i] = Get32(buf[b:])
b += 4
}
b = pad(b)
return v
}
func (cook Xf86driGetDeviceInfoCookie) Check() error {
return cook.check()
}
// Write request to wire for Xf86driGetDeviceInfo
func (c *Conn) xf86driGetDeviceInfoRequest(Screen uint32) []byte {
size := 8
b := 0
buf := make([]byte, size)
buf[b] = c.extensions["XFREE86-DRI"]
b += 1
buf[b] = 10 // request opcode
b += 1
Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
Put32(buf[b:], Screen)
b += 4
return buf
}
// Request Xf86driAuthConnection
// size: 12
type Xf86driAuthConnectionCookie struct {
*cookie
}
func (c *Conn) Xf86driAuthConnection(Screen uint32, Magic uint32) Xf86driAuthConnectionCookie {
cookie := c.newCookie(true, true)
c.newRequest(c.xf86driAuthConnectionRequest(Screen, Magic), cookie)
return Xf86driAuthConnectionCookie{cookie}
}
func (c *Conn) Xf86driAuthConnectionUnchecked(Screen uint32, Magic uint32) Xf86driAuthConnectionCookie {
cookie := c.newCookie(false, true)
c.newRequest(c.xf86driAuthConnectionRequest(Screen, Magic), cookie)
return Xf86driAuthConnectionCookie{cookie}
}
// Request reply for Xf86driAuthConnection
// size: 12
type Xf86driAuthConnectionReply struct {
Sequence uint16
Length uint32
// padding: 1 bytes
Authenticated uint32
}
// Waits and reads reply data from request Xf86driAuthConnection
func (cook Xf86driAuthConnectionCookie) Reply() (*Xf86driAuthConnectionReply, error) {
buf, err := cook.reply()
if err != nil {
return nil, err
}
if buf == nil {
return nil, nil
}
return xf86driAuthConnectionReply(buf), nil
}
// Read reply into structure from buffer for Xf86driAuthConnection
func xf86driAuthConnectionReply(buf []byte) *Xf86driAuthConnectionReply {
v := new(Xf86driAuthConnectionReply)
b := 1 // skip reply determinant
b += 1 // padding
v.Sequence = Get16(buf[b:])
b += 2
v.Length = Get32(buf[b:]) // 4-byte units
b += 4
v.Authenticated = Get32(buf[b:])
b += 4
return v
}
func (cook Xf86driAuthConnectionCookie) Check() error {
return cook.check()
}
// Write request to wire for Xf86driAuthConnection
func (c *Conn) xf86driAuthConnectionRequest(Screen uint32, Magic uint32) []byte {
size := 12
b := 0
buf := make([]byte, size)
buf[b] = c.extensions["XFREE86-DRI"]
b += 1
buf[b] = 11 // request opcode
b += 1
Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
b += 2
Put32(buf[b:], Screen)
b += 4
Put32(buf[b:], Magic)
b += 4
return buf
}