1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
|
package xgb
/*
This file was generated by bigreq.xml on May 10 2012 12:39:33pm EDT.
This file is automatically generated. Edit at your peril!
*/
// BigreqInit must be called before using the BIG-REQUESTS extension.
func (c *Conn) BigreqInit() error {
reply, err := c.QueryExtension(12, "BIG-REQUESTS").Reply()
switch {
case err != nil:
return err
case !reply.Present:
return errorf("No extension named BIG-REQUESTS could be found on on the server.")
}
c.extLock.Lock()
c.extensions["BIG-REQUESTS"] = reply.MajorOpcode
for evNum, fun := range newExtEventFuncs["BIG-REQUESTS"] {
newEventFuncs[int(reply.FirstEvent)+evNum] = fun
}
for errNum, fun := range newExtErrorFuncs["BIG-REQUESTS"] {
newErrorFuncs[int(reply.FirstError)+errNum] = fun
}
c.extLock.Unlock()
return nil
}
func init() {
newExtEventFuncs["BIG-REQUESTS"] = make(map[int]newEventFun)
newExtErrorFuncs["BIG-REQUESTS"] = make(map[int]newErrorFun)
}
// 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'
// Skipping definition for base type 'Float'
// 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'
// 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
}
|