aboutsummaryrefslogtreecommitdiffstats
path: root/sys/decl.go
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2016-01-11 22:16:14 +0100
committerDmitry Vyukov <dvyukov@google.com>2016-01-11 22:26:09 +0100
commit15128d47bd7de318bea5ecf0fb15a45deb794c9d (patch)
treec4a1dc12dc0cd3ae937ab98f65af901221583161 /sys/decl.go
parent4d906f05d4d76e153e71a56eccf91eab24286f3a (diff)
sys: support /dev/snd/seq
Diffstat (limited to 'sys/decl.go')
-rw-r--r--sys/decl.go11
1 files changed, 8 insertions, 3 deletions
diff --git a/sys/decl.go b/sys/decl.go
index ea361f440..9476c5c3c 100644
--- a/sys/decl.go
+++ b/sys/decl.go
@@ -102,6 +102,7 @@ const (
FdKvm
FdKvmVm
FdKvmCpu
+ FdSndSeq
IPCMsq
IPCSem
@@ -131,7 +132,7 @@ func ResourceSubkinds(kind ResourceKind) []ResourceSubkind {
FdDRI, FdFuse, FdKdbus, FdBpfMap, FdBpfProg, FdPerf, FdUserFault,
FdAlg, FdAlgConn, FdNfcRaw, FdNfcLlcp, FdBtHci, FdBtSco, FdBtL2cap,
FdBtRfcomm, FdBtHidp, FdBtCmtp, FdBtBnep, FdUnix, FdSctp, FdKvm, FdKvmVm,
- FdKvmCpu}
+ FdKvmCpu, FdSndSeq}
case ResIPC:
return []ResourceSubkind{IPCMsq, IPCSem, IPCShm}
case ResIOCtx, ResKey, ResInotifyDesc, ResPid, ResUid, ResGid, ResTimerid, ResIocbPtr:
@@ -457,13 +458,17 @@ func (t StructType) Align() uintptr {
type UnionType struct {
TypeCommon
Options []Type
+ varlen bool
}
func (t UnionType) Size() uintptr {
+ if t.varlen {
+ panic("union size is not statically known")
+ }
size := t.Options[0].Size()
for _, opt := range t.Options {
- if size != opt.Size() {
- panic("union size is not statically known")
+ if size < opt.Size() {
+ size = opt.Size()
}
}
return size