blob: 5cfea6e15a8979836da4fa3b92d1c5b34507e5f6 (
plain)
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
|
// Copyright 2010 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// Go definitions of internal structures. Master is chan.c
package runtime
type sudoG struct {
g *g_
selgen uint32
offset int16
isfree int8
link *sudoG
elem [8]byte
}
type waitQ struct {
first *sudoG
last *sudoG
}
type hChan struct {
qcount uint32
dataqsiz uint32
elemsize uint16
closed uint16
elemalign uint8
elemalg *alg
senddataq *link
recvdataq *link
recvq waitQ
sendq waitQ
free sudoG
lock
}
type link struct {
link *link
elem [8]byte
}
type scase struct {
chan_ *hChan
pc *byte
send uint16
so uint16
elemp *byte // union elem [8]byte
}
type select_ struct {
tcase uint16
ncase uint16
link *select_
scase [1]*scase
}
|