From 135cee57610cccd10009b264cce7fbcd5af367cb Mon Sep 17 00:00:00 2001 From: "Andrew Gallant (Ocelot)" Date: Sun, 6 May 2012 03:06:48 -0400 Subject: auto-generated Go code ftw. ~65,000 lines. woooheee --- nexgb/auto_bigreq.go | 112 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 112 insertions(+) create mode 100644 nexgb/auto_bigreq.go (limited to 'nexgb/auto_bigreq.go') diff --git a/nexgb/auto_bigreq.go b/nexgb/auto_bigreq.go new file mode 100644 index 0000000..d008bce --- /dev/null +++ b/nexgb/auto_bigreq.go @@ -0,0 +1,112 @@ +package xgb + +/* + This file was generated by bigreq.xml on May 6 2012 3:00:43am EDT. + This file is automatically generated. Edit at your peril! +*/ + +// 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' + +// Skipping definition for base type 'Card32' + +// Skipping definition for base type 'Double' + +// Skipping definition for base type 'Bool' + +// Request BigreqEnable +// size: 4 +type BigreqEnableCookie struct { + *cookie +} + +func (c *Conn) BigreqEnable() BigreqEnableCookie { + cookie := c.newCookie(true, true) + c.newRequest(c.bigreqEnableRequest(), cookie) + return BigreqEnableCookie{cookie} +} + +func (c *Conn) BigreqEnableUnchecked() BigreqEnableCookie { + cookie := c.newCookie(false, true) + c.newRequest(c.bigreqEnableRequest(), cookie) + return BigreqEnableCookie{cookie} +} + +// Request reply for BigreqEnable +// size: 12 +type BigreqEnableReply struct { + Sequence uint16 + Length uint32 + // padding: 1 bytes + MaximumRequestLength uint32 +} + +// Waits and reads reply data from request BigreqEnable +func (cook BigreqEnableCookie) Reply() (*BigreqEnableReply, error) { + buf, err := cook.reply() + if err != nil { + return nil, err + } + if buf == nil { + return nil, nil + } + return bigreqEnableReply(buf), nil +} + +// Read reply into structure from buffer for BigreqEnable +func bigreqEnableReply(buf []byte) *BigreqEnableReply { + v := new(BigreqEnableReply) + 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.MaximumRequestLength = Get32(buf[b:]) + b += 4 + + return v +} + +func (cook BigreqEnableCookie) Check() error { + return cook.check() +} + +// Write request to wire for BigreqEnable +func (c *Conn) bigreqEnableRequest() []byte { + size := 4 + b := 0 + buf := make([]byte, size) + + buf[b] = c.extensions["BIG-REQUESTS"] + 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 +} -- cgit v1.2.3-70-g09d2